簡體   English   中英

PHP + MySQL,按類別輸出結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM