0

2 つの異なるテーブルから情報を取得する ajax があります。

1 つのテーブルはinformationで、もう 1 つはimagesです。images テーブルから最大 3 つの行を結合できる一意の情報行があります。

MySQL:

SELECT information.pointID, sName, sAddr, sPhone, iURL FROM information, images WHERE information.pointID = images.pointID AND placeID='$kraj';

ajaxをjsonとして結果を取得します。

JS:

...

var result='';
$.each(data, function(i,e) {
result += e.pointID+' '+e.sName+' '+e.iURL;
});

...

データベースに情報 1 の 3 つの画像があるとします。

私の問題は、一意の情報行が 1 つしかないにもかかわらず、その選択された情報に 3 つの画像があるため、php が 3 つの行をフェッチすることです。

結果を印刷した後にjsで取得した出力は次のとおりです。

2 John 02151 John 02152 John 02153

私が欲しいのは、基本情報を一度だけ印刷することです。例:

2 John 02151 02152 02153
4

2 に答える 2

0

このクエリを試してください...

SELECT a.pointID, DISTINCT a.sName, a.sAddr, a.sPhone, a.iURL FROM information as a, images as b WHERE a.pointID = b.pointID AND placeID='$kraj';

これがお役に立てば幸いです。

于 2012-09-11T10:25:24.817 に答える
0

必要に応じて配列を作成し、その配列を JSON に送信して出力を生成する方がよいと思います。

配列は、array('pointID','john',array(02151,02152,02153)) のようになります。これをループするのは簡単です。

data = ["point", "john", [9, 18, 3]]
result = data[0]+data[1];

$.each(data[2], function(i,e) {
  result += e;
});
于 2012-09-11T11:11:44.193 に答える