我第一次尝试制作foreach循环时出现问题。
我的问题是,我只是想要调出两行来显示,哪种方式有效,尽管它们显示的次数与我表中的不同行一样多。
我的代码如下所示:
$sql = "SELECT * FROM webpages";
$result = mysql_query($sql);
$assoc_query = mysql_fetch_assoc($result);
<?php foreach ($assoc_query as $value) { ?>
<tr>
<td>
<div id='pageimg'><img src= <?php echo $assoc_query['pic'];?> ></div>
</td>
<td>
<div id="pagename"><?php echo $assoc_query['name']; ?> </div>
</td>
</tr>
<?php } ?>
它在页面上显示如下:
/picture/ DAK
/picture/ DAK
/picture/ DAK
/picture/ DAK
希望你能帮助我:)。
答案 0 :(得分:1)
<?php
$sql = "SELECT * FROM webpages";
$result = mysql_query($sql);
$counter=0;
while($row= mysql_fetch_assoc($result))
{
$assoc_query[$counter] = $row;
$counter++;
}
foreach ($assoc_query as $value) { ?>
<tr>
<td>
<div id='pageimg'><img src= <?php echo $value['pic'];?> ></div>
</td>
<td>
<div id="pagename"><?php echo $value['name']; ?> </div>
</td>
</tr>
<?php } ?>
答案 1 :(得分:0)
这不能用foreach循环完成,除非你只用limit
条款或Where
条款显示1个用户的信息,否则它是无用的
相反,你需要一个像这样的循环
<?php while ($assoc_query = mysql_fetch_assoc($result)) { ?>
<tr>
<td>
<div id='pageimg'><img src= <?php echo $assoc_query['pic'];?> ></div>
</td>
<td>
<div id="pagename"><?php echo $assoc_query['name']; ?> </div>
</td>
</tr>
<?php } ?>
答案 2 :(得分:0)
而不是foreach,你会想要一段时间。你在这里做的是循环数组$ assoc_query的元素。
while循环将获得要使用的下一个结果集。
while($assoc_query = mysql_fetch_assoc($result)){
//Do your thing
}
另请考虑从mysql_更新到mysqli_或PDO。您使用的是折旧的,并且新版本的安全性会增加。
答案 3 :(得分:0)
你应该这样做:
$sql = "SELECT * FROM webpages";
$result = mysql_query($sql);
while ($assoc_query = mysql_fetch_assoc($result)) {
?>
<tr>
<td>
<div id='pageimg'><img src= <?php echo $assoc_query['pic'];?> ></div>
</td>
<td>
<div id="pagename"><?php echo $assoc_query['name']; ?> </div>
</td>
</tr>
<?php } ?>
那应该有用。但正如之前所说,你不应该像这样编码。像nerdlyist一样使用mysqli或PDO。
答案 4 :(得分:0)
@Nerdlyist
$sql = "SELECT * FROM webpages";
$result = mysql_query($sql);
$assoc_query = mysql_fetch_assoc($result);
<?php while ($assoc_query = mysql_fetch_assoc($result)) {
?>
<tr>
<td>
<div id='pageimg'><img src= <?php echo $assoc_query['pic'];?> ></div>
</td>
<td>
<div id="pagename"><?php echo $assoc_query['name']; ?> </div>
</td>
</tr>
<?php } ?>