好的,我有这个,当从 mysql 数据库中获取时它不会显示所有行,如下所示:
mysql_select_db($database_config, $config);
$query_cat = "SELECT * FROM cat";
$cat = mysql_query($query_cat, $config) or die(mysql_error());
$row_cat = mysql_fetch_array($cat);
$arr = array("TIT" => $row_cat['title'],
"DES" => $row_cat['description']);
foreach($arr as $ar){
echo $ar;
}
现在它只显示第一行然后停止为什么它不显示所有字段而且我不想使用 while 循环谁能解释我这个问题吗?
编辑:基本上我想这样工作
$p = "{TIT}{DES}";
foreach($arr as $k => $p){
$p = str_replace("{".$k."}", $v, $p);
echo $p;
}
现在问题不在于 str_replace 而是循环或数据库,因为数据库行没有递增并且只显示一个数据。
最佳答案
这将始终返回第一行。您只获取一次,只会返回第一行。
相反,您必须在循环中使用 fetch 语句来获取所有行
while($row_cat = mysql_fetch_array($cat)){
echo $row_cat['title'];
echo $row_cat['description'];
}
关于php mysql数据只显示一行与foreach循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859642/