2017-02-23 91 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); 

絕對考慮重新思考整個結構。

相關問題