我有一个在桌面上执行MySQL查询的网页。我有它在表中回应它并且它应该工作,例如:
$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($query){
// my table and db stuff echos out here
}
现在使用相同的mysql查询 $ query 我试图在同一页面上使用相同的查询在下面再次回显它,但我的问题是它似乎不起作用。
现在你可能正在思考我正在做的事情很奇怪,但之所以上面的第一个代码在表格中回显数据的原因,以及这些东西旁边的复选框就像表格一样回应了。一切正常,但似乎我不能在同一个查询上面循环上面做另一个。第二个与上面完全相同;唯一的区别是它不是一种形式。
我只能在一次查询中执行一次while()
和mysql_fetch_assoc
吗?
更新
对不起,我仍然不理解。
这是我的代码;谁能为我编辑它?
(我无法在代码中放置php标签,以便从PHP代码中分离HTML。抱歉给您带来任何不便。
$q = mysql_query("SELECT * FROM table");
<h1> Vote for your favourite extension </h1>
<form method="post" action="<?php echo basename(__file__); ?>">
<table>
<tbody>
<tr class="odd">
<td colspan="3" class="cellfeat" style="text-align: center;">Vote for your favourite extension</td>
</tr>
<?php
if(!$q){
// query failed etc
} else { // query ok so display form
while($row = mysql_fetch_array($q)){
echo '<tr class="odd">';
echo '<td class="cellfeat"><img src="images/statimages/extensions.gif" alt="Extension Vote Image" /></td>';
echo '<td class="cellfeat">'.$row['checkbox'].'</td>';
echo '<td class="cellfeat"><input type="checkbox" name="'.$row['id'].'" value="'.$row['id'].'" /></td>';
echo '</tr>';
}
}
?>
</tbody>
</table>
<input type="submit" class="submitcontact" value="Vote" />
</form>
<h1>Extension Statistics</h1>
<table>
<tbody>
<tr class="odd">
<td colspan="3" class="cellfeat" style="text-align: center;">Voting Statistics</td>
</tr>
while($row = mysql_fetch_array($q)){
echo '<tr class="odd">';
echo '<td class="cellfeat"><img src="images/statimages/extensions.gif" alt="Extension Vote Image" /></td>';
echo '<td class="cellfeat">'.$row['checkbox'].'</td>';
echo '<td class="cellfeat">'.$row['count'].'</td>';
echo '</tr>';
}
?>
</tbody>
</table>
答案 0 :(得分:9)
唯一正确的方法如下:
首先,将您的数据收集到数组
$data = array();
while($row = mysql_fetch_array($query){
$data[] = $row;
}
然后,调用模板
并根据需要多次使用您的数据:
<table>
<? foreach ($data as $row): ?>
<tr>
<td><?=$row['id']?></td>
<td><?=$row['name']?></td>
<? endforeach ?>
</table?>
答案 1 :(得分:3)