• 締切済み

動的配列の利用方法について

いつも御指導頂きありがとうございます。 度々ですが、質問させて頂きます。 Mysqlで、クエリを実行して次の文でデータを抜き出すのですが、 while ($row = mysql_fetch_assoc($res)) { ?> <a href= "1test.php?pref_id=<? echo $row['pref_id'] ?>"><? echo $row['pref_name'] ?></a><br> $pref_id=$row['pref_id']; <? } $pref_id //←ここが? ?> としてループで、データを下記のように表示しています。 28兵庫 27大阪 26京都 25滋賀 ループ{}から外れて変数に格納されている値を使おうとすると 当然ですが、一番最後の値の25滋賀が表示されて しまいます。 このデータの結果を利用したいのですが、 データの個数が変化する動的配列というのでしょうか? 配列に入れて、何番目の値という形で 違う場面でデータを利用したのですが方法がわかりません。 26京都を選びたいのですが、どうしたら京都が反映されるのか御指導お願いします。 表現がうまく伝わるといいのですが、いかがでしょうか? 御指導お願いします。

みんなの回答

  • unchikun
  • ベストアンサー率22% (2/9)
回答No.1

ループの時点で配列に順に詰めていって、あとから参照するというのはどうでしょうか。 $rows = array(); while ($row = mysql_fetch_assoc($res)) {  /* 表示部 (略)*/  $rows[] = $row;//順次配列に詰める } echo $rows[2]['pref_id'];//京都のpref_id echo $rows[1]['pref_name'];// 大阪のpref_name 何番目ではなくて、pref_idで参照したいなら、  $rows[] = $row;//順次配列に詰める の部分を  $rows[ $row['pref_id'] ] = $row; とすればよいと思います。 意味を取り違ってなければよいですが・・・。 見当違いの回答であればごめんなさい。

nicolemen
質問者

お礼

早々にありがとうございます。 そうです。 このような感じを求めていました。 助かりました。

関連するQ&A