繁体   English   中英

foreach mysql行从查询中回显出带有行值的html

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM