PHP+MySQL,按类别输出结果

标签 php mysql group-by iterator wordpress

我正在尝试破解 WP 插件“Contact Form 7”(带有 DB 扩展),以便在用户提交表单后按照我的喜好输出结果。我理解为什么插件必须按照它的方式排列数据库,但我在分离条目时遇到了麻烦。通常我会有一个索引可以使用,但在这里我没有。

这是我的 table 的样子。

+-----------------+-----------+-----------------+---------------------+-------------+------+
|   submit_time   | form_name |   field_name    |     field_value     | field_order | file |
+-----------------+-----------+-----------------+---------------------+-------------+------+
| 1360190186.3500 | RSVP 2    | text-796        | Mindi               |           0 | NULL |
| 1360190186.3500 | RSVP 2    | text-664        | Smith               |           1 | NULL |
| 1360190186.3500 | RSVP 2    | text-635        | New York            |           2 | NULL |
| 1360190186.3500 | RSVP 2    | menu-359        | A friend of Sarah's |           3 | NULL |
| 1360190186.3500 | RSVP 2    | textarea-518    |                     |           4 | NULL |
| 1360190186.3500 | RSVP 2    | file-29         |                     |           5 | NULL |
| 1360190186.3500 | RSVP 2    | textarea-652    |                     |           6 | NULL |
| 1360190186.3500 | RSVP 2    | Submitted Login | admin               |        9999 | NULL |
| 1360190186.3500 | RSVP 2    | Submitted From  | ::1                 |       10000 | NULL |
| 1360191326.9700 | RSVP 2    | text-796        | Joe                 |           0 | NULL |
| 1360191326.9700 | RSVP 2    | text-664        | Blow                |           1 | NULL |
| 1360191326.9700 | RSVP 2    | text-635        | Somewhere           |           2 | NULL |
| 1360191326.9700 | RSVP 2    | menu-359        | A friend of Bob's   |           3 | NULL |
| 1360191326.9700 | RSVP 2    | textarea-518    |                     |           4 | NULL |
| 1360191326.9700 | RSVP 2    | file-29         |                     |           5 | NULL |
| 1360191326.9700 | RSVP 2    | textarea-652    |                     |           6 | NULL |
| 1360191326.9700 | RSVP 2    | Submitted Login | admin               |        9999 | NULL |
| 1360191326.9700 | RSVP 2    | Submitted From  | ::1                 |       10000 | NULL |
| 1360361333.8800 | RSVP 2    | text-796        | Once                |           0 | NULL |
| 1360361333.8800 | RSVP 2    | text-664        | Again               |           1 | NULL |
| 1360361333.8800 | RSVP 2    | text-635        | Somewhere           |           2 | NULL |
| 1360361333.8800 | RSVP 2    | menu-359        | A friend of Bob's   |           3 | NULL |
| 1360361333.8800 | RSVP 2    | textarea-518    |                     |           4 | NULL |
| 1360361333.8800 | RSVP 2    | file-29         |                     |           5 | NULL |
| 1360361333.8800 | RSVP 2    | textarea-652    |                     |           6 | NULL |
| 1360361333.8800 | RSVP 2    | Submitted Login | admin               |        9999 | NULL |
| 1360361333.8800 | RSVP 2    | Submitted From  | ::1                 |       10000 | NULL |
+-----------------+-----------+-----------------+---------------------+-------------+------+

我的 PHP 有点生疏,所以我想知道迭代唯一唯一字段(“submit_time”)以隔离条目的最有效方法是什么?

最佳答案

我猜你正在使用 $result = mysql_query(); 或类似的东西来获取这些值。 然后执行以下操作:

while ($row = mysql_fetch_assoc($result /*or your result varname*/ )) {
    //do the things you want to do
}

$row 现在是一个关联数组,包含 mySql 表包含的字段。在您的情况下,您可以使用它来打印 field_name 列(只是一个示例):

//inside the while-loop:
echo $row["field_name"]."<br/>";

您可以通过这种方式读取表中的每个条目。每次重复循环都会增加您正在读出的行号。如果已结束或出现错误,mysql_fetch_assoc() 返回 false 并且循环退出。

关于PHP+MySQL,按类别输出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14862806/

相关文章:

php - 使用 for() 循环创建唯一的 PHP 变量

mysql - 在查询中使用正则表达式

mysql - 使用一些默认值进行左连接

php - 使用 PHP DomDocument 区分 HTML 和 XML

php - 模型方法在 magento 自定义模型中显示错误

php - 如何获取 mysql 值作为 jquery 数组值

sql - 分组依据以及子句外部的列

sql - 如何对时差超过一小时的记录进行分组?

php - 代码点火器 : complex query with join and limit

php - 如何在mysql中根据最近日期选择记录