PHP循环遍历2个基于位置id和日期的表

时间:2015-10-25 12:14:04

标签: php mysql

我正在尝试遍历2个表(促销和文章)。 这里的问题是促销表。我想在特定的位置展示促销。例如。位置1是第1篇文章之前的第一个位置。这篇文章按最新日期订购。

表:促销

+----+-------------+---------+------+---------------------+
| id | promo       | postion | user | created_date        |
+----+-------------+---------+------+---------------------+
| 1  | promo 1     | 1       | 1    | 2015-10-01 00:00:00 |
+----+-------------+---------+------+---------------------+
| 2  | promo 2     | 4       | 1    | 2015-10-01 00:00:00 |
+----+-------------+---------+------+---------------------+
| 3  | promo 3     | 6       | 1    | 2015-10-01 00:00:00 |
+----+-------------+---------+------+---------------------+

表:文章

+----+---------------+------+---------------------+--------+
| id | article       | user | created_date        | public |
+----+---------------+------+---------------------+--------+
| 1  | article 1     | 1    | 2015-10-01 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 2  | article 2     | 1    | 2015-10-02 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 3  | article 3     | 1    | 2015-10-03 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 4  | article 4     | 1    | 2015-10-04 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 5  | article 5     | 1    | 2015-10-05 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 6  | article 6     | 1    | 2015-10-06 00:00:00 | 0      |
+----+---------------+------+---------------------+--------+
| 7  | article 7     | 1    | 2015-10-06 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 8  | article 8     | 1    | 2015-10-06 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+
| 9  | article 9     | 1    | 2015-10-06 00:00:00 | 1      |
+----+---------------+------+---------------------+--------+

应该是这样的

<div>Promo 1</div>
    <div>Article 1</div>
    <div>Article 2</div>
    <div>Article 3</div>
<div>Promo 2</div>
    <div>Article 4</div>
    <div>Article 5</div>
<div>Promo 3</div>
    <div>Article 7</div>
    <div>Article 8</div>
    <div>Article 9</div>

到目前为止,我有这个显示文章表

echo '<table>';

$dbList = dblink();
$sql = $dbList->prepare("SELECT article.* FROM article WHERE article.public = 1 ORDER BY date_created DESC");
$sql->execute();
while ($row = $sql->fetch()){

    echo '
        <tr>
            <td width="50">
                '.$row['id'].'
            </td>
            <td>
                '.$row['article'].'
            </td>
            <td>
                '.$row['date_created'].'
            </td>
            <td width="20" style="text-align: center;">
                '.$row['public'].'
            </td>
        </tr>';

}

echo '</table>';

1 个答案:

答案 0 :(得分:1)

如果您正在寻找如何加入表格,可以查看 MySQL JOIN here。这是一个简单的教程。您不必通过PHP脚本单独同时遍历这两个表。相反,使用MySQL连接来连接两个表以动态创建一个表,并让您的脚本循环遍历代码中的单个表。这就是您面临的问题如何解决的问题。我希望你对MySQL连接进行一些谷歌搜索,因为网上已经有大量的信息以及SO的信息。