如何使用php在列表中回显结果

如何使用php在列表中回显结果,php,html,mysql,Php,Html,Mysql,我想使用php在列表中打印sql结果 <?php $query="select name from plant "; $q=mysqli_query($con,$query)or die("Could Not Perform the Query"); while ($row = $q->fetch_assoc()) { $hh=$row['name']; } ?> <ul id="myUL"> <li><a href="#"><?ph

我想使用php在列表中打印sql结果

<?php 
$query="select name from plant ";
$q=mysqli_query($con,$query)or die("Could Not Perform the Query");
while ($row = $q->fetch_assoc()) {
$hh=$row['name'];
}
?>
<ul id="myUL">
<li><a href="#"><?php echo $hh ?></a></li>
</ul>
比如:-

芒果先生

.苹果

.Banana

在for循环中生成HTML

问题是$hh始终是最后一行,因为$row=$q->fetch_assoc会在每一行上覆盖变量的值

为了在每行中输出一个列值,您需要将输出放在while循环中:它将对每个记录执行一次

您可以使用条件语句以提高可读性:

<!-- Start of List -->
<ul id="myUL">

<?php

    $query = "select name from plant ";
    $q     = mysqli_query($con,$query) or die("Could Not Perform the Query");

    while ($row = $q->fetch_assoc()):

?>

    <!-- Option -->
    <li><a href="#"><?= $row['name']; ?></a></li>

<?php endwhile; ?>

</ul>
<!-- End of List -->
$hh将是最后获取的值,因为它在每个循环周期都被重写。您需要附加到它。看看这个:

 <?php
 $con=mysqli_connect("localhost","my_user","my_password","my_db");

 $query = "SELECT name FROM tablename";
 $query = mysqli_query($con, $query)or die("Failed to fetch data");
 $lis = "";
 // as long as row is not empty
 while ($row = $q->fetch_assoc()) {
  $lis .= "<li> <a href='#'>".$row['name']."</a></li>";
 }
 echo "<ul>$lis</ul>";
?>

$hh在您的while循环中被过度写入。你需要在你的while循环中输出它。将ul放在while循环外,并在循环内添加li谢谢你的回答。谢谢你的回答。
<!-- Start of List -->
<ul id="myUL">

<?php

    $query = "select name from plant ";
    $q     = mysqli_query($con,$query) or die("Could Not Perform the Query");

    while ($row = $q->fetch_assoc()):

?>

    <!-- Option -->
    <li><a href="#"><?= $row['name']; ?></a></li>

<?php endwhile; ?>

</ul>
<!-- End of List -->
list
    foreach row do:
        output option
    end foreach
end list
 <?php
 $con=mysqli_connect("localhost","my_user","my_password","my_db");

 $query = "SELECT name FROM tablename";
 $query = mysqli_query($con, $query)or die("Failed to fetch data");
 $lis = "";
 // as long as row is not empty
 while ($row = $q->fetch_assoc()) {
  $lis .= "<li> <a href='#'>".$row['name']."</a></li>";
 }
 echo "<ul>$lis</ul>";
?>