我在使用PHP语句从数据库中检索数据时遇到问题。目前输出如下:
[{"Bez":"Cino"},{"Bez":"Extra"},{"Bez":"Panini"},{"Bez":"And so on"}]
“Bez”是列的标签,我们不希望它显示。我们只想显示单元格的内容,它应该如下所示:
[Cino,Extra,Panini,And so on]
php是:
<?php
$username = "root";
$database = "kaffeehaus";
mysql_connect('localhost', $username);
@mysql_select_db($database) or die("Geht nicht!");
$query = "SELECT Bez FROM kategorie";
$result = mysql_query($query) or die(mysql_error("error"));
$num = mysql_numrows($result);
mysql_close();
$rows = array();
while ($r = mysql_fetch_assoc($result))
{
$rows[] = $r;
}
echo json_encode($rows);
?>
答案 0 :(得分:2)
替换
$rows[] = $r;
使用
$rows[] = $r['Bez'];
...虽然说实话,我会用以下内容替换整个“fetch”部分:
while($r = mysql_fetch_row($result))
$rows[] = $r[0];
那是因为mysql_fetch_row通常比mysql_fetch_assoc更快。
答案 1 :(得分:0)
替换
while ($r = mysql_fetch_assoc($result))
{
$rows[] = $r;
}
用这个:
while ($r = mysql_fetch_array ($result, MYSQL_ASSOC))
{
$rows[] = $r['Bez'];
}
答案 2 :(得分:0)
改为使用mysql_fetch_row()(或mysql_fetch_array($result, MYSQL_NUM);
)。它获取一个数值数组,因此不显示列名。
然后,您的输出将如下所示:
[{"0":"Cino"},{"1":"Extra"},{"2":"Panini"},{"3":"And so on"}]
答案 3 :(得分:0)
删除json_encode部分:
echo json_encode ($ rows); ?&GT;
并使用bez作为行键:
echo($ rows ['bez']); ?&GT;
答案 4 :(得分:0)
如果有多个单元格,它是如何工作的?
我们的php看起来像
<?php
$username = "root";
$database = "kaffeehaus";
mysql_connect('localhost', $username);
@mysql_select_db($database) or die("Geht nicht!");
$ID_Kategorie = $_GET["Kategorie"];
$query = "SELECT * FROM artikel WHERE ID_Kategorie=$ID_Kategorie";
$result=mysql_query($query) or die("error");
$num = mysql_numrows($result);
mysql_close();
$rows = array();
while ($r = mysql_fetch_assoc($result))
{
$rows = $r;
}
echo json_encode($rows); ?>
输出如:
[{"ID_Artikel": "12","ID_Kategorie":"19","Bez":"blabla","Beschreibung":"blabla"}]
但它看起来像:
[{"12","19","blabla","blabla"}]