[英]foreach mysql row from query echo out html with row values
所以我基本上要完成的是mysql查询中的foreach行,它打印出来自该行数据的html。 这就是我所拥有的,它不断给我一个错误的foreach。
<?php
$shots = mysql_query("SELECT * FROM shots") or die(mysql_error());
while($row=mysql_fetch_array($shots))
$data[]=$row;
foreach($shots as $data)
if (!empty($data)){
$id = $data["id"];
$shotby = $data["shot"];
$passby = $data["pass"];
$time = $data["time"];
?>
<div class="feedbody">
<div class="title"><?php echo $shotby; ?></div>
<div class="feed-data">: gets a pass from <span><?php echo $passby; ?</span> and he takes a shot!</div>
<img class="dot" src="images/dot.png" />
</div>
<?php
}
}
?>
或类似的东西。 任何人都可以帮助我指出正确的方向。 我一直试图找到答案。
编辑:根据要求添加错误。
Warning: Invalid argument supplied for foreach() in /home/content/93/7527593/html/fusionboard/includes/feed.php on line 7
首先,如果
MYSQL_ASSOC
名称(而不是索引)访问数据,则需要将
MYSQL_ASSOC
作为第二个参数包含在mysql_fetch_array中,或者使用mysql_fetch_assoc。
不确定为什么要将MySQL结果复制到第二个数组只是为了稍后循环 - 你可以直接遍历结果:
<?php
$shots = mysql_query("SELECT * FROM shots") or die(mysql_error());
while($row = mysql_fetch_assoc($shots)) { ?>
<div class="feedbody">
<div class="title"><?php echo $row["shot"]; ?></div>
<div class="feed-data">: gets a pass from <span><?php echo $row["pass"]; ?></span> and he takes a shot!</div>
<img class="dot" src="images/dot.png" />
</div>
<?php } ?>
发布错误消息后更新:原始代码中的错误是您首先将每个结果行复制到$data
,但是在您的foreach中,您尝试循环$shots
(再次)并让它调用每个项目$data
。
您可能想要做的是foreach ($data as $item)
然后从$item
复制属性。
像这样的东西?
<?php
$shots = mysql_query("SELECT * FROM shots") or die(mysql_error());
while($row=mysql_fetch_assoc($shots))
{
$id = $row["id"];
$shotby = $row["shot"];
$passby = $row["pass"];
$time = $row["time"];
?>
<div class="feedbody">
<div class="title"><?php echo $shotby; ?></div>
<div class="feed-data">: gets a pass from <span><?php echo $passby; ?</span> and he takes a shot!</div>
<img class="dot" src="images/dot.png" />
</div>
<?php
}
?>
也许你需要另一个闭合支撑? (最后的另一个“}”,我的意思是)。
您将数据保存在$ data变量中,但是您的foreach使用$ shots变量。
只需将其更改为foreach($ data为$ something)和$ something [“id”](例如)以检索值
您正在使用一个变量而不是另一个变量。
和许多无用的代码。
虽然只是你的需要
<?php foreach($data as $row) { ?>
<div class="feedbody">
<div class="title"><?php echo $row['shotby'] ?></div>
<div class="feed-data">:
gets a pass from <span><?php echo $row['passby'] ?</span> and he takes a shot!
</div>
<img class="dot" src="images/dot.png" />
</div>
<?php } ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.