我写了一些PHP和Ajax代码,以便在输入位置名称时查看我的库存。这是我的库存图片。请注意,大多数位置包含多种项目。
这是我的前端界面。
这是我遇到问题的代码部分。
<?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时,它会返回一个单词“Array”而不是记录。这些位置具有多个行的结果相同。我想知道如何处理 $ query ,以便网页可以显示某个位置的所有行?谢谢!
答案 0 :(得分: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
一次提取一行