【问题标题】:How do I get all data from a mysql table via php, and print out the contents of every cell?如何通过 php 从 mysql 表中获取所有数据,并打印出每个单元格的内容?
【发布时间】:2010-04-07 11:06:37
【问题描述】:

我有一个至少包含三行的数据库表。从 php 中,我已成功连接到我的数据库并使用 'SELECT * from mytable' 提取了所有表信息。

现在我想先循环遍历每一行,然后是每个单元格,打印出每个单元格的内容。

我知道这对于更有经验的程序员来说可能是一项简单的任务,但我无法弄清楚,我在网上找不到任何示例,这让我发疯了。

我该怎么做?

【问题讨论】:

  • 我建议熟悉使用 php.net 的文档,因为几乎所有方法的示例都在其中。下面刚刚回答的一个例子太
  • 谢谢大家。我最终使用了 Lex 解决方案的修改版本。实际上,我确实浏览了 php.nets 示例,但我无法找到适合我的示例。 (我花了大约一半的时间在 php.net 上浏览 mysql 代码,这就是我走到这一步的方式。)真正让我难过的是在我的脑海中组合了一个解决方案,巧妙地解决了循环逻辑我能够可视化由 phps mysql 函数返回的数据结构。这对我来说是一个心灵弯曲的人。
  • 好吧,你能做到!令人惊讶的是,基于所使用的数据结构,目标可以变得多么简单/困难。

标签: php mysql loops


【解决方案1】:

你可以使用 for each 循环...

//Do the query
$query = "SELECT * FROM table";
$result = mysql_query($query);
//iterate over all the rows
while($row = mysql_fetch_assoc($result)){
    //iterate over all the fields
    foreach($row as $key => $val){
        //generate output
        echo $key . ": " . $val . "<BR />";
    }
}

没有测试过,所以可能有语法错误,不过主要思路是这样的

【讨论】:

  • 谢谢莱克斯。这就是我最终使用的。我对其进行了修改,以便在段落和 div 中输出所有内容。
【解决方案2】:

手册中有几个例子可以帮助你;例如,在mysql_query 的手册页上(引用并稍作调整)

您首先必须执行查询:

$result = mysql_query('SELECT * from mytable');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

请注意,在发生错误的情况下死亡并回显错误消息,在开发过程中是可以的 - 但您不应该在生产环境中这样做!


然后,您必须遍历结果行,一次获取一个:

while ($row = mysql_fetch_assoc($result)) {
    // Use the data in $row
}


而且,在这个循环中,由于$row 是一个数组,您可以使用foreach 循环遍历其内容:

foreach ($row as $name => $value) {
    echo "column $name contains $value<br />";
}


注意:此时,您真的应该投资一些时间来阅读 PHP 手册的几个部分:这需要一些时间,是的;但它肯定会帮助你,不会浪费时间:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多