2014-10-02 11 views
0

我寫了一些PHP和Ajax代碼,以便在輸入位置名稱時查看我的庫存。這是我的庫存圖片。注意大多數位置包含多種類型的項目。PHP Ajax從數據庫返回多個行

enter image description here

這裏是前端界面我有。 enter image description here

下面是我遇到問題的部分代碼。

<?php 
    // '.post' could be '.get' here but global.js has to be the same, .post is faster 
    if(isset($_POST['name']) === true && empty($_POST['name']) === false) { 
     require '../db/connect.php'; 

     $query = mysql_query(" 
      SELECT `sheet0_100`.`id` 
      FROM `sheet0_100` 
      WHERE `sheet0_100`.`location` = '" . mysql_real_escape_string(trim($_POST['name'])) . "' 
     "); 
     echo (mysql_num_rows($query) !== 0) ? mysql_fetch_row($query) : 'Location not found..'; 


    } 
?> 

如果您發現和mysql_fetch_row一部分,當我在一個位置類型,例如,50A-3,它返回一個字「陣列」,而不是記錄。這些位置的相同結果有多行。我想知道我與$查詢有什麼關係,以便網頁可以顯示某個位置的所有行?謝謝!

+1

Firstable停止取每個行的一個mysql_ *。它已被棄用。 mysql_fetch_row返回數組,所以你可以使用echo print_r(mysql_fetch_row($ query),1);如果你想看到它 – bksi 2014-10-02 18:39:35

+1

你也需要迭代整個結果集。在每個方法上調用fetch_row。 – 2014-10-02 18:44:04

回答

1

如果你必須使用mysql_ *擴展功能,以便檢索併爲此顯示多行,請使用while循環:

<?php 
// '.post' could be '.get' here but global.js has to be the same, .post is faster 
if(isset($_POST['name']) === true && empty($_POST['name']) === false) { 
    require '../db/connect.php'; 

    $query = mysql_query(" 
     SELECT `sheet0_100`.`id` 
     FROM `sheet0_100` 
     WHERE `sheet0_100`.`location` = '" . mysql_real_escape_string(trim($_POST['name'])) . "' 
    "); 

    if(mysql_num_rows($query) !== 0){ 
     while ($row = mysql_fetch_row($query)) { 
      // output results using the $row array 
     } 
    } 
    else { 
     echo('Location not found..'); 
    };   

} 
?> 

mysql_fetch_row使用在同一時間

+0

請參閱http://stackoverflow.com/a/787688/1430996 – 2014-10-02 18:48:33