ホームページ > バックエンド開発 > PHPチュートリアル > 複数のテーブルの関連付けの呼び出しは少し複雑です。ありがとうございます。

複数のテーブルの関連付けの呼び出しは少し複雑です。ありがとうございます。

WBOY
リリース: 2016-06-23 14:23:12
オリジナル
988 人が閲覧しました

テーブル Goods_area
フィールド Goods_id city area
1 Dawang Road,Beijing


テーブル business_circle
フィールド ID 名parent_id

このテーブルは、地域ビジネス地区の親クラスとサブクラスのテーブルです
ID 名parent_id
1 朝陽 0
2 昌平0
3 Dawang Road 1
つまり、「Dawang Road」は「Chaoyang」のサブクラスであり、parent_id はその親クラスの ID 番号です

2 つのテーブルの関連フィールドは a.area=b.name です


$sql = mysql_query(" select * from Goods_area as a INNER JOIN business_circle as b on a.area=b.name order by a.goods_id asc");
while($rs = mysql_fetch_assoc($sql)){
echo $rs['area'] .$rs['parent_id'].'
'
}




これはparent_idの値を呼び出すことができますが、parent_id = name valueという条件を呼び出したいと思います。 IDテーブルのbusiness_circleで
そして呼び出したいのですが、結果はテーブルaのテーブルbの親クラス名の値です $rs['area']



わかりやすく説明できるかわかりませんが?専門家は完全なコードを直接提供できます。ありがとうございます


ディスカッション (解決策) に返信します

$rs['parent_id'] の値を取得し、それを条件として呼び出すには 2 つのループが必要になる場合があります。専門家はコードを書きますか?

select c .name,d.* from Goods_area as c,(goods_area select * from Goods_area as a INNER JOIN business_circle as b on a.area=b.name) as d where c.id=d .parent_id

select c.name ,d.* from business_circle as c,(select * from Goods_area as a INNER JOIN business_circle as b on a.area=b.name) as d where c.id=d.parent_id


これでなければなりません、c.name これがあなたが望む名前です

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート