PHP <ul> <li> database


PHP <ul> <li> database

我想把数组中每部电影的图像、标题和评级放到一个<ul> <li>但我只能让它把第一部电影、标题和评级放进去。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<?php
require_once 'init.php';
require_once 'sessionCheck2.php';
$query = $con ->query
("
SELECT movies.id, movies.image, movies.movie_name, AVG(user_movie_ratings.rating) AS rating
FROM movies
LEFT JOIN user_movie_ratings
ON movies.id = user_movie_ratings.movie_id
GROUP BY movies.id
");
$movieTitle = array();
while($row = $query->fetch_object())  {
$movieTitle[] = $row;
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Home</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>

<body>
<div id="wrapper">
    <div id="header">
        <div id="h1">
        </div>
        <div id="login">
            <?php //include 'loginCheck.php';?>
            <?php include 'login.php';?>
        </div>
    </div>
<div id ="movies">
        <?php foreach($movieTitle as $movie):?>
            <?php echo "<ul> <li>" .'<img src="'.$movie->image.'"/>';?>
                <div class = "cFFF">
                <?php echo $movie->movie_name; ?>
                </div>
                <div class="s11 c999">
                    Rating: <?php echo round($movie->rating); ?>
                </div>
            <?php echo "</li> </ul>"; ?>
            </div>
        <?php endforeach; ?>
    <div id="footer">
        This is the Footer
    </div>
</div>
</body>
</html>

只需从逻辑上考虑一下您打开<ul><li>的位置与关闭它们的位置(即它应该在循环中还是外部,显然它不应该在打开和关闭时反转,无论是打开和关闭都进入循环还是在循环之外,而不是一个输入和一个输出)并修复关闭时<?ul>的错别字。

并且不要喜欢<ul><li><div></li></ul></div> 您需要按照打开标签的顺序关闭标签。 J.F. <ul><li><div></div></li></ul>

我想你想做什么:

<div id="movies">
<ul>
<?php 
foreach($movieTitle as $movie)
{
    echo '<li>';
    echo '<img src="' . $movie->image . '" />';
    echo '<div class="cFFF">' . $movie->movie_name . '</div>';
    echo '<div class="s11 c999">Rating: ' . round($movie->rating) . '</div>';
    echo '</li>';
}
?>
</ul>
</div>

您也可以使用以下php语句打印$movieTitle数组的输出来检查:

回声计数($movieTitle);

确保您的 MySQL JOIN 返回正确的结果。