-1

2 番目の配列内の配列要素ごとに一意の ID を取得する必要があります。その ID は既にテーブルに存在しますが、個別に取得することはできません。現在取得している URL は次のようになります: http://page.com/index.php?p=view&m=area&id=173id=552id=768id=36id=217id= ID は 1 つだけ必要です。すぐ。mysqli または PDO と正規化されたテーブルを使用する必要があることはわかっていますが、後で、これについて助けが必要です。

これはコードです:

$res= mysql_query("SELECT * FROM area WHERE user='$user' ORDER BY date") or     die("Error: " . mysql_error());
while($row = mysql_fetch_assoc($res))
{
   $id = $row['id'];
   $x = array();
   $parent = array();
   foreach($row as $value)
   {
      if ($value == $id) continue;

      else if ($value == $user) continue;

      $result = explode(",", $value);

      foreach($result as $newvalue)
      {
         $query = "SELECT x,firm FROM list where list.x='$newvalue'";
         $result = mysql_query($query);
         $r = mysql_fetch_assoc($result);
         $x[] = $r['x'];
         $xx = implode("id=",$x);
         $parent[] = $r['firm'];
         $list = implode("<a href='index.php?p=view&m=area&$xx'>", $parent)."</a>";
      }
    }
echo "<td><span>" . $list . "</span>/td>";

}

ありがとうございました

4

2 に答える 2

0

この URL 構文は、値の配列を PHP スクリプトに渡す正しい方法ではありません。パラメータ名には PHP 配列構文を使用する必要があります。&また、パラメータをアンパサンド ( )で区切る必要があります。

 http://page.com/index.php?p=view&m=area&id[]=173&id[]=552&id[]=76&8id[]=36&id[]=217

次に、次を使用して2番目のものを取得できます

$second_id = $_GET['id'][1]; // 552

参考までに、新しいコードでは関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-06-04T23:51:50.273 に答える