- 締切済み
動的配列の利用方法について
いつも御指導頂きありがとうございます。 度々ですが、質問させて頂きます。 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京都を選びたいのですが、どうしたら京都が反映されるのか御指導お願いします。 表現がうまく伝わるといいのですが、いかがでしょうか? 御指導お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- unchikun
- ベストアンサー率22% (2/9)
ループの時点で配列に順に詰めていって、あとから参照するというのはどうでしょうか。 $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; とすればよいと思います。 意味を取り違ってなければよいですが・・・。 見当違いの回答であればごめんなさい。
お礼
早々にありがとうございます。 そうです。 このような感じを求めていました。 助かりました。