[英]PHP+MySQL, output results by category
我正在嘗試破解WP插件“Contact Form 7”(帶有DB擴展名),以便在用戶提交表單后輸出我喜歡的結果。 我理解為什么插件必須按照它的方式安排數據庫,但是我在分隔條目時遇到了麻煩。 通常我會有一個索引可以使用,但在這里我沒有。
這是我的桌子的樣子。
+-----------------+-----------+-----------------+---------------------+-------------+------+
| 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 now是一個關聯數組,其中包含mySql表包含的字段。 在您的情況下,您可以使用它來打印field_name
-column(只是一個示例):
//inside the while-loop:
echo $row["field_name"]."<br/>";
這是您閱讀表格的每個條目的方法。 循環的每次重復都會增加您正在讀出的行號。 如果你在最后或者有錯誤, mysql_fetch_assoc()
返回false
並且循環退出。
我能夠通過創建一個具有唯一submit_time
字段的數組來解決它,然后使用它作為查詢中的變量循環遍歷每個。 對於你們這些感興趣的人來說,這就是結果。
$group = mysql_query('SELECT * FROM wp_cf7dbplugin_submits GROUP BY submit_time');
while ($st = mysql_fetch_row($group)) {
$myarray[] = $st[0];
}
foreach ($myarray as $value) {
$query = "SELECT field_value FROM wp_cf7dbplugin_submits WHERE submit_time = ".$value;
$entry = mysql_query($query);
while ($row = mysql_fetch_row($entry)) {
if (!empty($row[0])) {
echo $row[0];
echo '<br>';
}
}
echo '<br><br>';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.