2013-12-19 25 views
2

這是一個初學者的問題,我已經成功地建立了一個本地數據庫,根據搜索返回LOCATION列。從MySQL檢索多個列到Jquery並輸出爲表

我想了解的是PHP文件中哪些部分的代碼可以處理,以將多個/所有列從該搜索返回多列div表格,而不僅僅是LOCATION列。我玩過*代替LOCATION,但在搜索時遇到'第11行'出現意外。

任何指針都會非常有用,並幫助我更好地理解基礎知識。

JS文件

$('input#name-submit').on('click', function() { 
var name = $('input#name').val(); 
if ($.trim(name) != '') { 
$.post('ajax/name.php', {name: name}, function(data) { 
    $('div#name-data').text(data); 
}); 
} 

}); 

PHP文件(name.php)

<?php 
if (isset($_POST['name']) === true & empty($_POST['name']) === false) { 
require '../db/connect.php'; 

$query = mysql_query(" 
SELECT `LOCATION` 
FROM `table 3` 
WHERE `table 3`.`ARTIST` = '" . mysql_real_escape_string(trim($_POST['name'])) . "' 
"); 

echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, `LOCATION`) : 'Name not found'; 
} 
+1

'mysqli'折舊抗議者3,2,1 ... –

回答

2

您目前正在從MySQL結果返回單個項目(從一行一列)。您將需要修改您的代碼,以便您可以返回多個項目。在下面的例子中,來自兩列的數據以JSON格式發送回JQuery腳本,因爲解析它很容易。

<?php 
if (isset($_POST['name']) === true & empty($_POST['name']) === false) { 
    require '../db/connect.php'; 
    $sql = "SELECT 
       `LOCATION`, `SOME_OTHER_COLUMN` 
      FROM 
       `table 3` 
      WHERE 
       `table 3`.`ARTIST` = '" . mysql_real_escape_string(trim($_POST['name'])) . "'"; 
    $result = mysql_query($sql); 
    if (mysql_num_rows($query) !== 0) { 
     $data = json_encode(mysql_fetch_assoc($query)); 
     echo $data; 
    } 
} 
?> 

,如果你想發送回的JQuery之前在PHP中的數據格式,你可以做這樣的事情:

if (mysql_num_rows($query) !== 0) { 
    while ($row = mysql_fetch_assoc($query)) { 
     $data = 'Blah blah '.$row['LOCATION'].' blah, blah '.$row['SOME_OTHER_COLUMN']; 
    } 
    echo $data; 
} 
+0

這真是太棒了 - 沒有考慮過JSON如何處理這個問題,所以它被證明非常有用。 – Byate