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>