ホームページ >バックエンド開発 >PHPチュートリアル >3テーブル結合クエリ後~配列関連の問題~

3テーブル結合クエリ後~配列関連の問題~

WBOY
WBOYオリジナル
2016-06-13 12:55:261106ブラウズ

3テーブル結合クエリのその後~~~配列の問題~~
ちょっと長いです~~読んでくれた方、返信してくれた方、よろしくお願いします~~わかりました~~本題に入りましょう

Mission_need テーブルはタスク テーブルであり、主キーは missneed_id
です。 Offer_need テーブルは入札テーブルであり、主キー offneed_id、タスク ID フィールド missneed_id、および入札を公開したユーザー ID フィールド offneed_user
を持ちます。 userinfo テーブルは、主キー user_id
を持つユーザー情報テーブルです。
例:
次に、misneed_id=5 のタスクの下のタスク情報、タスクの下のすべての入札、および入札を開いた各ユーザーに関する情報を取得したいと思います

私が書いたSQLは以下の通りです~~~

選択 *
FROM ミッション_ニード
LEFT JOIN offer_need ON Mission_need.misneed_id = offer_need.offneed_misid
JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where Mission_need.misneed_id=5

コードの一部を次のように投稿します

<?php<br />
require('config.php');<br />
require('conn.php');<br />
<br />
$misneed_id=$_GET['id'];<br />
$sql="SELECT * <br />
FROM mission_need<br />
LEFT JOIN offer_need ON mission_need.misneed_id = offer_need.offneed_misid<br />
JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where mission_need.misneed_id='$misneed_id'";<br />
$query=mysql_query($sql);<br />
$result=mysql_fetch_array($query);<br />
print_r($result);<br />
<br />
$smarty->display('need_view.html');<br />
<br />
?><br />


通常、データベースから 2 行のレコードが取得されます...


しかし、私が出力した配列は次のようになります
配列 ([0] => 1 [misneed_id] => 1 [1] => テスト [misneed_title] => テスト [2] => テスト [misneed_text] => テスト [3] => 5 [ミスニーズ] => 5 [4] => 4444 [5] => 0 [6] => 0 [7] => 20130119170332 [ミスニーズ] => 20130102122522 [ミスニーズ] => 1 _クラスID] => 1 [10] => Upload_file/5/130119050132.jpg [misneed_file] => ./upload_file/5/130119050132.jpg [11] => 1 [offneed_id] => 1 [12] => オファー テスト [offneed_text] =>オファーテスト [13] => 50 [オフニード価格] => 50 [14] => 20130120211950 [15] => 3 [16 ] => 0 [オフニードステータス] => 0 [17] => 5 [オフニードミスID] => 5 [20] => ピンタイ [ユーザー名] => ピンタイ [21] => 03142410d7285f00e4363e005783c83a ; 1 [ユーザーパワー] => 1 [23] => 555 qq.com [ユーザーメールアドレス] => 555@qq.com [24] => 2147483647 [ユーザー電話番号] => 2147483647
これは明らかに記録の 1 つにすぎません ~~ 何が問題ですか?


-----解決策--------------------------------1 回実行 $result=mysql_fetch_array( $query);
1 つのレコードだけを読み出します

-----解決策---------
require( ' config.php');
require('conn.php');<br>
<br>
$misneed_id=$_GET['id'];<br>
$sql="SELECT * <br>
FROM ミッション_ニード<br>
LEFT JOIN offer_need ON Mission_need.misneed_id = offer_need.offneed_misid<br>
JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where Mission_need.misneed_id='$misneed_id'"; <br><div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:普通の初心者次の記事:普通の初心者