我有2张桌子
TabelAnunturi
idAnunta |DataInterval |Denumire |Moderatori |Detalii
2 |text |text |text |text
2 |text |text |text |text
3 |text |text |text |text
3 |text |text |text |text
和
Anunturi
idAnunt |Data |Subiect |Anunt |AnuntContinuare
1 |text |text |text |text
2 |text |text |text |text
3 |text |text |text |text
4 |text |text |text |text
我有一个查询,可以使用JOIN ON
$constructtabelanunturi = "SELECT t.DataInterval, t.Denumire, t.Moderatori, t.Detalii FROM TabelAnunturi t JOIN Anunturi a ON (t.idAnunta = a.idAnunt)";
以及检查查询是否有结果的脚本,如果是,则显示结果...
echo "
<div class='noutati'>
<table class='dataanunturi'>
<tr>
<td class='data'>{$runrows ['Data']}</td>
<td class='subiect'>Subiect:</td>
<td>{$runrows ['Subiect']}</td>
</tr>
</table>
{$runrows ['Anunt']} ";
while($runrowstabelanunturi = mysql_fetch_assoc($runtabelanunturi))
{
$DataInterval = $runrowstabelanunturi ['DataInterval'];
$Denumire = $runrowstabelanunturi ['Denumire'];
$Moderatori = $runrowstabelanunturi ['Moderatori'];
$Detalii = $runrowstabelanunturi ['Detalii'];
echo"
<br>
<br>
<table class=\"anunturi\">
<tr>
<th class=\"dataanunturi\">Dată / Interval orar</th>
<th class=\"denumire\">Denumire</th>
<th class=\"moderatori\">Moderatori</th>
<th>Detalii</th>
</tr>";
echo"
<tr>
<td>$DataInterval</td>
<td>$Denumire</td>
<td>$Moderatori</td>
<td>$Detalii</td>
</tr>";
echo"
</table>";
}
echo"
</div>";
问题是如果TabelAnunturi表中有多个具有相同id的行,则表TabelAnunturi中的每一行都会显示该表的标题。如果我在表的行之间移动WHILE语句,那么无论查询没有结果,都会显示表头...我不能在{while {}}循环时使用...我认为我必须使用foreach
循环,但如何???
答案 0 :(得分:2)
您的问题的答案:“我如何使用foreach循环?” :http://php.net/manual/en/control-structures.foreach.php
答案 1 :(得分:1)
仅将获取的数据放入while循环中。
if(mysql_num_rows($runtabelanunturi) > 0) {
echo "<table class=\"anunturi\">
<tr>
<th class=\"dataanunturi\">Dată / Interval orar</th>
<th class=\"denumire\">Denumire</th>
<th class=\"moderatori\">Moderatori</th>
<th>Detalii</th>
</tr>";
while($runrowstabelanunturi = mysql_fetch_assoc($runtabelanunturi))
{
$DataInterval = $runrowstabelanunturi ['DataInterval'];
$Denumire = $runrowstabelanunturi ['Denumire'];
$Moderatori = $runrowstabelanunturi ['Moderatori'];
$Detalii = $runrowstabelanunturi ['Detalii'];
echo"<tr>
<td>$DataInterval</td>
<td>$Denumire</td>
<td>$Moderatori</td>
<td>$Detalii</td>
</tr>";
}
echo"
</table>";
}
你在每个循环中打印整个表,这就是问题。这个。它会起作用。