【问题标题】:While nested lops in php fetching data from sql databasephp中的嵌套循环从sql数据库中获取数据
【发布时间】:2016-01-18 20:34:00
【问题描述】:
$sql = "SELECT * FROM today WHERE heading='$heading' and day='$day'";
$sql1 = "SELECT * FROM today WHERE day='$day'";
$result = $conn->query($sql);
$result1 = $conn->query($sql1);
if ($result->num_rows > 0) {
echo "<div id='post'><h1>".$row["heading"]."</h1>
<aside class='related-post'>".while($row = $result1->fetch_assoc())
{echo'<img src='".$row["image"]."'>;}
      .</aside>}";

我一直在使用 while 循环从表中获取数据。我的连接是完美的,但我需要在第一个不工作的循环。这不是好办法吗?

更新:我尝试完成 echo 并再次按以下方式启动,但仍然出现错误

while($row = $result->fetch_assoc()) {
     echo "<div id='post'><h1>"
     .$row["heading"].
     "</h1><div class='post-side'><img class='post-image' src='"
     .$row["image"].
     "'><div class='post-data'><p><strong>Age: </strong><span>$age</span></p><p><strong>Date of birth: </strong><span>"
     .$row["day"].
     "-"
     .$row["month"].
     "-"
     .$row["year"].
     "</span></p></div></div></div><div class='description'><p>"
     .$row["description"].
     "</p></div><div class='bottom-related'><aside class='related-post'>";
     while($row = $result1->fetch_assoc())
     {echo"<img src='"
     .$row["image"].
     "'>/";}.echo"</aside><aside class='ad2'>".$includead."</aside></div>";

   }
   echo "</div>";
 } else {
 echo "No table found";
 }

 $conn->close();

【问题讨论】:

  • 您得到的输出是什么?问题在这里不清楚
  • 解析错误:语法错误,代码中出现意外的“while”(T_WHILE)
  • 我已经在下面发布了一个答案,检查一下,如果它不起作用,我可以帮助您解决它
  • 关于“更新”:;}.echo - 那应该是什么?它不起作用。
  • 不幸的是,在 echo 之前有一个点,这是唯一的问题......谢谢大家。谢谢@RalphMelhem,你的回答解决了我的问题。

标签: php sql database loops while-loop


【解决方案1】:

您正在尝试将 WHILE 循环连接到字符串;这是错误的。 您应该回显您的第一部分,以它结束,然后执行您的 while 循环,然后回显结束:

您的报价也有点混乱

if ($result->num_rows > 0) 
{
    echo "<div id='post'><h1>".$row["heading"]."</h1>
          <aside class='related-post'>";

    while($row = $result1->fetch_assoc())
    {
      echo'<img src="'.$row["image"].'">';
    }
    echo '</aside>';
 }

【讨论】:

  • 谢谢伙计。我刚刚发布了更新,但又出现了错误。但你的回答让我很开心。
【解决方案2】:

您不能将 whileString 连接,这是语法错误
另外,在尝试回显字符串时遇到问题,可以使用以下语法:

echo "PHP"; // will evaluate PHP variables and whitespace inside a string
echo 'PHP'; // will evaluate nothing;

但您不能开始刷新字符串 ' 并以 " 结束,反之亦然。
这里是正确的代码:

<?php
$sql        = "SELECT * FROM today WHERE heading='$heading' and day='$day'";
$sql1       = "SELECT * FROM today WHERE day='$day'";
$result     = $conn->query($sql);
$result1    = $conn->query($sql1);

    if ($result->num_rows > 0) {
        echo "<div id='post'><h1>" . $row["heading"] . "</h1><aside class='related-post'>";

        while($row = $result1->fetch_assoc()) {
            echo'<img src="' . $row["image"] .'">';
        }
        echo "</aside>";
    }

【讨论】:

  • 尝试为以后的用户添加一点解释
  • while' (T_WHILE),期待 ',' 或 ';'在第 7 行的代码中
  • @RalphMelhem :你说得对,我已经添加了一些解释。
猜你喜欢
  • 2019-02-18
  • 2021-11-02
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 2021-08-05
相关资源
最近更新 更多