2017-02-23 88 views
-1

的这部分代码工作正常:PHP不会在不同的格呼应相同的代码

<div id="Vraag"> 
    <?php 
     while($row = mysqli_fetch_assoc($rows)) 
     { 
      echo $row["vraag"]; 
     } 
    ?> 
    </div> 

但这部分不工作:

<div id="antAA"> 
    <?php 
     while($row = mysqli_fetch_assoc($rows)) 
     { 
      echo $row["AntwA"]; 
     } 
     ?> 
     <!-- <a href="#" id="antAA">Antwoord A</a> --> 
    </div> 

而且我不知道为什么它是不工作。它是相同的代码。

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它是行不通的:因为如果我在我的代码的顶部呼应他们的一切优秀运行这段代码一路数据库工作正常。如果需要的话

<!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> 

CSS代码:

body{ 
    background-color: white; 
    overflow: hidden; 

    /*#ECECEC;*/ 
} 
#headerbg{ 
    display: block; 
    margin-top:-10px; 
    margin-left: -10px; 
    margin-right: -10px; 
    width: 102%; 
    height: 118px; 
    background-color: #333333; 
    /*#232323;*/ 
} 
h1{ 
    font-family: times; 
    display: block; 
    margin-left: -800px; 
    margin-top:-76px; 
    color: #979797; 
} 
#img2, #img3, #img4, #img5{ 
    width:300px; 
    height:100px; 
    display: block; 
} 
img{ 
    border:1px solid lightgray; 
    padding: 5px; 
} 
#img1{ 
    margin-top: 50px; 
} 
#img2{ 
    margin-top: -370px; 
    margin-left: -800px; 
} 
#img3{ 
    margin-top:-67px; 
    margin-left:800px; 
} 
#img4{ 
    margin-left:-800px; 
    margin-top: 150px; 
} 
#img5{ 
    margin-left: 800px; 
    margin-top: -67px; 
} 
#img6{ 
    display: block; 
    width: 800px; 
    height: 60px; 
    margin-top: 55px; 
    margin-left: ; 
} 
#antAA, #antBB, #antCC, #antDD{ 
    display: block; 
    /*color: #979797;*/ 
    color:red; 
    text-decoration:none; 
} 
#antAA, #antCC{ 
    margin-top: -65px; 
    margin-right: 800px; 
} 
#antBB{ 
    margin-top: -65px; 
    margin-left: 800px; 
} 
#antDD{ 
    margin-left: 800px; 
    margin-top:-65px; 
} 
#Vraag{ 
    display:block; 
    color: red; 
    margin-top: -44px; 
} 
#antAA:hover, #antBB:hover, #antCC:hover, #antDD:hover{ 
    color:white; 
} 
+0

提交你想....整个代码在这里你的问题是不是dectectable什么.. –

+0

你在查询结果两次循环 –

回答

1

用途:

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> 
-1

请尝试使用不同variables针对不同values。请尝试在接下来的这是不工作的代码不同variable name,就像这样:

<div id="antAA"> 
    <?php 
    while($row_new = mysqli_fetch_assoc($rows)) 
    { 
     echo $row_new["AntwA"]; 
    } 
    ?> 
    <!-- <a href="#" id="antAA">Antwoord A</a> --> 
</div> 

我希望,这将解决您的问题。

0

我不完全确定。但我认为这是因为在第一个循环中它取出了“vraag”。

因此,在第二个while循环中,它可能认为它是相同的循环,因此没有更多的数据要显示在那里。尝试再次在第二个循环的上方放置查询。与其他变量名

$query2 = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1"; 
$rows2 = mysqli_query($db, $query2); 

while($row2 = mysqli_fetch_assoc($rows2)) 
2

一旦执行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> 
0

它看起来像你迭代通过和打水的所有行,但只能读出与“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); 

绝对考虑重新思考整个结构。

相关问题