PHP不会在不同的div中回显相同的代码
代码的这一部分工作正常:PHP不会在不同的div中回显相同的代码,php,html,echo,Php,Html,Echo,代码的这一部分工作正常: <div id="Vraag"> <?php while($row = mysqli_fetch_assoc($rows)) { echo $row["vraag"]; } ?> </div> 但在div中,它就是不起作用 <!DOCTYPE html> <html> <head> &l
<div id="Vraag">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
?>
</div>
但在div中,它就是不起作用
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="se.css">
<title>Lotto</title>
</head>
<body>
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "lotto";
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$query = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1";
$rows = mysqli_query($db, $query);
// while($row = mysqli_fetch_assoc($rows))
// {
// echo $row["id"];
// echo $row["vraag"];
// echo $row["AntwA"];
// echo $row["AntwB"];
// echo $row["AntwC"];
// echo $row["AntwD"];
// }
?>
<div id="headerbg"></div>
<center>
<h1>Vraag 1</h1>
</center>
<center>
<div>
<img src="antw.png" id="img6">
</div>
<div id="Vraag">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
?>
</div>
<div id="plaatje">
<img id="img1" src="wip.jpg">
</div>
<div id="BGantA">
<img id="img2" src="antw.png">
</div>
<div id="antAA">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
?>
<!-- <a href="#" id="antAA">Antwoord A</a> -->
</div>
<div>
<img src="antw.png" id="img3">
</div>
<div>
<a href="#" id="antBB">Antwoord B</a>
</div>
<div>
<img src="antw.png" id="img4">
</div>
<div>
<a href="#" id="antCC">Antwoord C</a>
</div>
<div>
<img src="antw.png" id="img5">
</div>
<div>
<a href="#" id="antDD">Antwoord D</a>
</div>
</center>
</body>
</html>
请尝试对不同的值使用不同的变量。请在下一个不起作用的代码中尝试不同的变量名,如下所示:
<div id="antAA">
<?php
while($row_new = mysqli_fetch_assoc($rows))
{
echo $row_new["AntwA"];
}
?>
<!-- <a href="#" id="antAA">Antwoord A</a> -->
</div>
我希望这能解决你的问题。我不太确定。但我认为这是因为在第一个while循环中,它去掉了vraag 所以在第二个while循环中,它可能认为是同一个循环,因此没有更多的数据显示在那里。尝试再次将查询放在第二个循环的正上方。使用其他变量名
$query2 = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1";
$rows2 = mysqli_query($db, $query2);
while($row2 = mysqli_fetch_assoc($rows2))
一旦执行mysqli_fetch_assoc,它将返回false,因为最后一个值已被获取,并且没有其他值
如果要多次使用该数组,可以将其值保存在数组中,然后使用该数组
<?php
$vraag_array=array();
while($row = mysqli_fetch_assoc($rows))
{
$vraag_array[] = $row["vraag"];
}
//to echo
// close
?>
<div id="Vraag">
<?php
foreach ($vraag_array as $vraag_value) {
echo vraag_value;
}
?>
</div>
<div id="plaatje">
<img id="img1" src="wip.jpg">
</div>
<div id="BGantA">
<img id="img2" src="antw.png">
</div>
<div id="antAA">
<?php
foreach ($vraag_array as $vraag_value) {
echo vraag_value;
}
?>
<!-- <a href="#" id="antAA">Antwoord A</a> -->
</div>
看起来您正在遍历并获取所有行,但只读取与vraag匹配的行。第二次执行时,您已经遍历并耗尽了所有行 这就是为什么这个钻头起作用:
while($row = mysqli_fetch_assoc($rows))
{
echo $row["id"];
echo $row["vraag"];
echo $row["AntwA"];
echo $row["AntwB"];
echo $row["AntwC"];
echo $row["AntwD"];
}
因为您在处理每一行时都在使用它
我真的不明白为什么要执行这样的代码,它会在整个集合上迭代,每次都读取相同的单数值,但如果您希望第二次尝试工作,则必须再次执行这一行:
$rows = mysqli_query($db, $query);
当然要考虑对整个结构的重新思考。
< P>使用: mysqli_data_seek$行,0 每隔一段时间循环一次。 这会将计数器设置回0 <!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="se.css">
<title>Lotto</title>
</head>
<body>
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "lotto";
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$query = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1";
$rows = mysqli_query($db, $query);
// while($row = mysqli_fetch_assoc($rows))
// {
// echo $row["id"];
// echo $row["vraag"];
// echo $row["AntwA"];
// echo $row["AntwB"];
// echo $row["AntwC"];
// echo $row["AntwD"];
// }
?>
<div id="headerbg"></div>
<center>
<h1>Vraag 1</h1>
</center>
<center>
<div>
<img src="antw.png" id="img6">
</div>
<div id="Vraag">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
mysqli_data_seek($rows, 0);
?>
</div>
<div id="plaatje">
<img id="img1" src="wip.jpg">
</div>
<div id="BGantA">
<img id="img2" src="antw.png">
</div>
<div id="antAA">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
mysqli_data_seek($rows, 0);
?>
<!-- <a href="#" id="antAA">Antwoord A</a> -->
</div>
<div>
<img src="antw.png" id="img3">
</div>
<div>
<a href="#" id="antBB">Antwoord B</a>
</div>
<div>
<img src="antw.png" id="img4">
</div>
<div>
<a href="#" id="antCC">Antwoord C</a>
</div>
<div>
<img src="antw.png" id="img5">
</div>
<div>
<a href="#" id="antDD">Antwoord D</a>
</div>
</center>
</body>
</html>
提交您正在尝试的内容…此处的整个代码无法检测您的问题..您在查询结果上循环了两次
while($row = mysqli_fetch_assoc($rows))
{
echo $row["id"];
echo $row["vraag"];
echo $row["AntwA"];
echo $row["AntwB"];
echo $row["AntwC"];
echo $row["AntwD"];
}
$rows = mysqli_query($db, $query);
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="se.css">
<title>Lotto</title>
</head>
<body>
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "lotto";
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$query = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1";
$rows = mysqli_query($db, $query);
// while($row = mysqli_fetch_assoc($rows))
// {
// echo $row["id"];
// echo $row["vraag"];
// echo $row["AntwA"];
// echo $row["AntwB"];
// echo $row["AntwC"];
// echo $row["AntwD"];
// }
?>
<div id="headerbg"></div>
<center>
<h1>Vraag 1</h1>
</center>
<center>
<div>
<img src="antw.png" id="img6">
</div>
<div id="Vraag">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
mysqli_data_seek($rows, 0);
?>
</div>
<div id="plaatje">
<img id="img1" src="wip.jpg">
</div>
<div id="BGantA">
<img id="img2" src="antw.png">
</div>
<div id="antAA">
<?php
while($row = mysqli_fetch_assoc($rows))
{
echo $row["vraag"];
}
mysqli_data_seek($rows, 0);
?>
<!-- <a href="#" id="antAA">Antwoord A</a> -->
</div>
<div>
<img src="antw.png" id="img3">
</div>
<div>
<a href="#" id="antBB">Antwoord B</a>
</div>
<div>
<img src="antw.png" id="img4">
</div>
<div>
<a href="#" id="antCC">Antwoord C</a>
</div>
<div>
<img src="antw.png" id="img5">
</div>
<div>
<a href="#" id="antDD">Antwoord D</a>
</div>
</center>
</body>
</html>