php mysql数据只显示一行与foreach循环

标签 php mysql loops foreach

好的,我有这个,当从 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/

相关文章:

PHP脚本根据用户权限动态显示目录中的文件?

php - 使用 TinyMCE 格式化并使用 SwiftMailer 发送的电子邮件中不会出现文本格式

php - 使用 PHP、PDO 和 MySql 在一页上显示两个表

php - 如何在表格的所有列中进行搜索?

php - 无法使用 127.0.0.1 连接到 mysql

r - 改善循环的运行时间

Python:为列表中的所有元素添加相同的前缀

mysql workbench - 创建新模式并从现有模式导入表和结构

php - MySQL:从不同的表中删除表行

c - arduino上的循环变量