2016-09-04 8 views
0

私はまだphpとjavascript(ajax)には新しく、さまざまな投稿やウェブサイトを探してみました私の答えは無駄です。php/javascript(ajax)を使用してデータベースから複数の行を表示してウェブサイトのフロントエンドに表示

データベースから関連するすべての行をウェブサイトのフロントエンドに表示しようとしています。私のSQLステートメントは現在、必要なすべての行を取得していますが、すべての行を表示することができません(表示する行は1つしか取得できません)。

誰かが私を少し案内して、それを正しくするために何をすべきか教えてもらえますか?次のように私のコードは次のとおりです。

PHP-

$result = mysql_query("SELECT lot_num, buyer_id, item_desc, quantity, price FROM auction_items where auction_id = (SELECT id FROM auction ORDER BY date_created desc Limit 1) ORDER BY id DESC");   //query 

    $table_data = array(); 
    while($row = mysql_fetch_array($result)){ 
     $table_data[]= (array('lot_num' => $row["lot_num"], 'buyer_id' => $row["buyer_id"], 'item_desc' => $row["item_desc"], 'quantity' => $row["quantity"], 'price' => $row["price"])); 
    } 
    // $array = mysql_fetch_row($result);  

    echo json_encode($table_data); 

私はまた私の拠点をカバーするためのコード(アヤックス)私のJavaScriptを含めるつもりです:

$("#submit").click(function(){ 
    $.ajax({          
     url: 'auctionItemLoad.php',  //the script to call to get data   
     dataType: 'json',    //data format  
     success: function(data)   //on recieve of reply 
     { 
      var lot_num = data[0];    
      var buyer_id = data[1];   
      var item_desc = data[2]; 
      var quantity = data[3]; 
      var price = data[4]; 
      $('#lot_num_result').html(lot_num); 
      $('#buyer_id_result').html(buyer_id); 
      $('#item_desc_result').html(item_desc); 
      $('#quantity_result').html(quantity); 
      $('#price_result').html(price); 
     } 
     }); 
    }); 
+0

console.log(data)は、var lot-.num = ...の代わりにコンソールに入力するとコンソールに表示されます。成功:機能(データ) { console.log(data); } –

+0

ニッチの追加を追加した後、データベースにあるすべてのオブジェクトが表示されるようになりました。 –

答えて

0

1行のみである理由あなたがデータの最初の行にアクセスしているだけなので、すべての行を繰り返してすべてのデータを表示する必要があります。あなたのPHPファイル内のすべてのSQLリクエストの結果行を反復して$table_data配列に追加するのと同じように、今度はデータを出力するajaxリクエストの成功コールバックでdataを反復処理する必要があります。 JQueryの各機能でこれを行うことができます。

... 
success: function(data) { 
    $.each(data, function(i, row) { 
     var lot_num = row.lot_num;    
     var buyer_id = row.buyer_id;   
     var item_desc = row.item_desc; 
     var quantity = row.quantity; 
     var price = row.price; 

     $('#lot_num_result').append(lot_num); 
     $('#buyer_id_result').append(buyer_id); 
     $('#item_desc_result').append(item_desc); 
     $('#quantity_result').append(quantity); 
     $('#price_result').append(price); 
    )}; 
} 
... 
+0

これは私にすべてを示しているようですが、それはすべて1行にあります。どのように私はそれが行(または変数)を介して次の行に行くことを繰り返しiteratesので、情報を壊すについて行くだろうか? –

+0

@PACIFIC_STATE idセレクタ( '#lot_num_result'、'#buyer_id_result'など)が列であった場合、この例を簡単にするために、 'div'sの異なる行に各項目を追加します。 append( '#lot_num_result')。append(lot_num); '、$( '#lot_num_result')を実行します。append( '

' + lot_num + '
');これはおそらくあなたが探しているものではありませんしかし、。 テーブルを動的に作成するこのソリューションは、より便利な場合があります。http://stackoverflow.com/a/8302187/5709703 – nich

+1

ありがとうございます。あなたは大きな助けをしてきました! –

関連する問題