【问题标题】:foreach loop in while loop with div inside list elementforeach 循环在 while 循环中,div 在列表元素内
【发布时间】:2017-10-28 06:30:04
【问题描述】:

大家好,我正在尝试在 while 循环中创建一个 foreach 循环。在 foreach 循环中,我尝试生成其中包含 div 的列表元素,但我有非常奇怪的输出

这是我的代码

$countercat= 0;
$classvar= 1;
echo "<div class='selector-page'>";
echo "<div class='selector'>";
echo "<ul>";
while ($countercat <= 8){
  $stmt=$conn->prepare('SELECT eidos, name,  meta_keys, address, telephone, perioxi, st_img, st_open, st_close, lat, longtit FROM magazia WHERE perioxi= :perioxi AND eidos= :eidos  ORDER BY st_id ASC');
$stmt->bindParam(':perioxi', $name, PDO::PARAM_STR);
$stmt->bindParam(':eidos', $eidos, PDO::PARAM_STR);
$eidos= $c_titles[$countercat]['c_name'];
$stmt->execute();
$allrows=$stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($allrows as $row) {
  echo "<li>";
  echo "<div class='p". $classvar . " w3-card targetDiv w3-margin-top cardsmar'>";
  echo "<img src='../uploads/" . $row['st_img'] . "' class='cccard' alt='" . $row['name'] . "'";
  echo "<div class='w3-container w3-center'>";
  echo "<h3>" . $row['name'] ."</h3>";
  echo "<p>" . $row['eidos'] . "</p>";
  echo "<p>" . $row['address'] . " , " . $row['perioxi'] . "</p>";
  echo "<p>" . $lang['wrlt'] . " : " . $row['st_open'] . "-" . $row['st_close'] . "</p>";
  echo "<a href='katastimata.php?name=" . $row['name'] . "' role='button' class='w3-button w3-round w3black'>" . $lang['t9'] . "</a><br />";
  echo "<a href='https://www.google.com/maps?q=loc:" . $row['lat'] . "," . $row['longtit'] . "' role='button' class='w3-button w3-round w3-green btnmar'>" . $lang['spot2'] . "</a>";
  echo "</div>";
  echo "</div>";
  echo "</li>";

}
$countercat++;
$classvar++;

  }
  echo "</ul>";
  echo "</div>";
  echo "</div>";
}

?>

这是来自我的调试器控制台的图像

正如你在图片中看到的,在 ul 标记中只存在一个 li elemenemt 其余的都在 ul /ul 之外。

我的第一个想法是将 div 标签放在 li 标签中是无效的,但如果我在文件顶部使用它,则不是这样

DOCTYPE html PUBLIC "-//W3C// DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/html1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang:"en"

我在这里堆了这么久

我想念什么?

提前致谢

瓦格利斯

【问题讨论】:

    标签: php foreach while-loop


    【解决方案1】:

    您没有在此处关闭 &lt;img&gt; 标记。

    echo "<img src='../uploads/" . $row['st_img'] . "' class='cccard' alt='" . $row['name'] . "'";
    

    您必须将标签关闭为

    echo "<img src='../uploads/" . $row['st_img'] . "' class='cccard' alt='" . $row['name'] . "'/>";
    

    【讨论】:

      猜你喜欢
      • 2016-03-14
      • 2014-10-19
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多