人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL+Smartyに関するご質問です。

PHPファイル内で

------------------------------------------------------------
//idが'1'のユーザーを問い合わせ
$rs = mysql_query("SELECT * FROM tb_user WHERE id='1'");
$data = array();

//配列の出力
while ($item = mysql_fetch_array($rs)) {
$data[]=array("id"=>$item['id'],"name"=>$item['name']);★
}
-----------------------------------------------------------

とした場合の★の『$item['name']』の値を同PHPファイル内で
取得したいのですがどのように記述すればよいのでしょうか?

目的は同ファイル内で続いて他のテーブルから★の値を使用して
問い合わせたいのですが、値の取得方法が分からず困っています。

お分かりになる方いらっしゃいましたらご教授お願い致します。

●質問者: gelgelgel
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL name PHP SELECT Smarty
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tdoi
●100ポイント ベストアンサー

質問の意図が分からないのですが、コメント欄が開いていないので、こちらに失礼します。

ご質問の意図は、whileの外側で検索結果のnameカラムのデータを利用したいということでしょうか?

それであれば、$dataに格納していますので、

$data[インデックス]['name']

とでも参照することはできると思います。

こんなことを疑問に思われるとも思わないので、ちょっと意図をつかみかねています。


なお、

while ($item = mysql_fetch_array($rs)) {

while ($item = mysql_fetch_assoc($rs)) {

ということでよいのですよね?


また、nameカラムの要素で他のテーブルを検索するのであれば、SQLクエリでJOINしてしまうのも手だと思います。


現在、問題としている事柄を整理して頂き、対象となるテーブルの構造と、それから得たい結果を示してもらえると、もう少しお手伝いできるかもしれません。

◎質問者からの返答

>それであれば、$dataに格納していますので、

>$data[インデックス]['name']

>とでも参照することはできると思います。

>こんなことを疑問に思われるとも思わないので、ちょっと意図をつかみかねています。

すみません・・。ズバリ上記のことが聞きたかったんですね・・。

今までネットと参考書を頼りに何となく制作してきましたので、

あまり連想配列の定義が分かっていなくて色々試したのですが、

やっとわかってスッキリしひとつ賢くなりました。ありがとうございました。

「mysql_fetch_array」と「mysql_fetch_assoc」の違いも初めて知りました。

(mysql_fetch_assocの存在自体頭になかった・・)

>また、nameカラムの要素で他のテーブルを検索するのであれば、SQLクエリでJOINしてしまうのも手だと思います。

JOINの存在も昨日初めて知りました。結果上記の問題はJOINで解決したのですが、

取得する方法があれば知りたいと思いご質問させていただきました。

ご丁寧なご回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ