foreach循环in while循环与div里面的list元素

时间:2017-05-27 13:04:21

标签: php foreach while-loop

你好我们试图在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>";
}

?>

这是我的调试器consonle

中的图像

enter image description here

正如你在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”

我在这里待了很长时间

我错过了什么?

提前致谢

vaggelis

1 个答案:

答案 0 :(得分:1)

您没有在此处关闭<img>标记。

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

您必须将标记关闭为

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