【发布时间】:2012-10-30 04:56:29
【问题描述】:
我有两个 SQL 表:
- 新闻
- 编辑
在 News 表中,我有 2 个列(News_Added 和 News_Updated)。我将编辑器 ID 输入到这些列并将它们加入到编辑器表的 Ed_ID 以获取编辑器名称。
由于我有 2 个 while 查询,我必须使用 2 个 while 循环,但在 1 个 html 表中。我不知道如何解决这个问题。有什么帮助吗?
echo '<table border="0">
<tr><th>News ID</th><th>Title</th><th>Added By</th><th>Last Edit By</th><th>Action</th</tr>';
$query = mysql_query("SELECT * FROM N1News AS N1
LEFT JOIN A1Editors AS A1 ON N1.N1_Addedby=A1.Ed_ID WHERE N1_Co=$Ed_Co ORDER BY N1_ID LIMIT $show,$limit");
while($row = mysql_fetch_array($query)){
echo '<tr><td align="center">'.$row["N1_ID"].'</td><td><a href="news_edit2.php?n_id='.$row["N1_ID"].'">'.$row["N1_Title"].'</a></td>
<td><a href="news_edit2.php?n_id='.$row['N1_ID'].'"><img src="images/icons/hammer_screwdriver.png" alt="Edit News" /></a><a href="news_del.php?n_id='.$row["N1_ID"].'"><img src="images/icons/cross.png" alt="Delete News" /></a></td><td>'.$row["Ed_Name"].'</td>';
}
$query7 = mysql_query("SELECT * FROM N1News AS N1
LEFT JOIN A1Editors AS A1 ON N1.N1_Lastedit=A1.Ed_ID WHERE N1_Co=$Ed_Co ORDER BY N1_ID LIMIT $show,$limit");
while($row7 = mysql_fetch_array($query7)){
echo '<td>'.$row7["Ed_Name"].'</td>';
}
【问题讨论】:
-
您是否尝试将编辑者的姓名添加到每个结果行?还是将它们完全列在单独的表格中?我不是 100% 确定你想在这里实现什么。
-
所以你有 2 个查询,以及这些查询的 2 个相应的 while 循环,那么问题是什么?
-
这是一个列出所有新闻的表格。表列是;新闻 ID、新闻标题、添加者、编辑者、操作(编辑、删除)
-
coder1984,是html的问题,因为有2个查询,使用
标签有问题。 不,问题是您在获得所有可用信息之前就输出了东西。首先收集所有信息,然后输出到它应该去的地方。混合这些步骤会导致灾难,尤其是当数据结构变得更加复杂时。
标签: php mysql sql html-table