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