2013-10-01 79 views
0

我有一個PHP頁面只返回一行而不是一對的問題。 它應該在表中很好地返回多行,但它不會。 如果我刪除出現的行,它將顯示下一個(但仍然是一個)。PHP腳本+ MySQL只返回一行

更新: 對不起,我沒有解釋問題是哪個MySQL查詢。 它是關於「SELECT * FROM用戶WHERE活躍= 2 ......」

PS:我知道我應該使用MySQL和PDO來代替或MySQLi的,但我會很快將改變。

 <? $result = mysql_query("SELECT * FROM school WHERE schoolid = '$schoolvanleerling'"); while($row = mysql_fetch_array($result)){ 
    echo $schoolnaam = $row['schoolnaam']; 

    } ?>. 

    </p><br> 
    <h3>Actieve tutors</h3> 
       <table class="demotable" border="0" cellspacing="0" cellpadding="0"> 
           <tr> 
            <th>Naam tutor</th> 
            <th>Klas tutor</th> 
            <th>Vakken tutor</th> 
            <th>Rating tutor</th> 
            <th>Cijfer tutor</th> 
            <th>Acties</th> 
           </tr> 
<? $result = mysql_query("SELECT * FROM users WHERE active = '2' AND bijles_school = '$schoolvanleerling' ORDER BY name ASC"); while($row = mysql_fetch_array($result)){ 
?> 

            <tr> 
             <td><a href="profiel.php?id=<? echo $row['id'];?>"><? echo $row['name'];?></a></td> 
             <td><? $result = mysql_query("SELECT * FROM klas WHERE id = '$row[klas]'"); while($rowa = mysql_fetch_array($result)){ ?><? echo $rowa['naam'];?><? }?></td> 
             <td> <? $bijlesvakkenn = explode(",", $row['bijles_tutor']); 
    foreach ($bijlesvakkenn as $value) { 
    ?> 
    <? $result = mysql_query("SELECT * FROM vakken WHERE id = '$value' ORDER BY naam ASC"); while($rowvak = mysql_fetch_array($result)){ 
    echo $rowvak['naam'];?><br><? } } ?></td> 
             <td><? // echo getRating($row['id']); ?></td> 
             <td>nog geen cijfer beschikbaar</td> 
             <td>- Deactiveer Tutor<br>- <a href="mailto:<? echo $row['email'];?>">Contact opnemen</a></td> 
            </tr> 

            <? } ?> 
           </table> 
    <br><br> 
    <h3>Niet goedgekeurde tutors</h3> 
        <table class="demotable" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
             <th>Naam tutor</th> 
             <th>Klas tutor</th> 
             <th>Vakken tutor</th> 
             <th>Rating tutor</th> 
             <th>Cijfer tutor</th> 
             <th>Acties</th> 
            </tr> 
    <? $result = mysql_query("SELECT * FROM users WHERE active = '1' AND bijles_school = '$schoolvanleerling' ORDER BY 

name ASC"); while($row = mysql_fetch_array($result)){ 
?> 
           <tr> 
            <td><? echo $row['name'];?></td> 
            <td><? $result = mysql_query("SELECT * FROM klas WHERE id = '$row[klas]'"); while($rowa = mysql_fetch_array($result)){ ?><? echo $rowa['naam'];?><? }?></td> 
            <td> <? $bijlesvakkenn = explode(",", $row['bijles_tutor']); 
foreach ($bijlesvakkenn as $value) { 

?> 
<? $result = mysql_query("SELECT * FROM vakken WHERE id = '$value' ORDER BY naam ASC"); while($row = mysql_fetch_array($result)){ 
echo $row['naam'];?><br><? } } ?></td> 
            <td><? echo getRating($row['id']); ?></td> 
            <td>8</td> 
            <td>- Deactiveer Tutor<br>- Contact opnemen</td> 
           </tr> 

           <? } ?> 
          </table> 
<?php } ?> 

更新的工作代碼: 變化是,我不再使用$結果不止一次

<? $resultschool = mysql_query("SELECT * FROM school WHERE schoolid = '$schoolvanleerling'"); while($rowschool = mysql_fetch_array($resultschool)){ 
echo $schoolnaam = $rowschool['schoolnaam']; 
} ?>. 
</p><br> 
<h3>Actieve tutors</h3> 
       <table class="demotable" border="0" cellspacing="0" cellpadding="0"> 
           <tr> 
            <th>Naam tutor</th> 
            <th>Klas tutor</th> 
            <th>Vakken tutor</th> 
            <th>Rating tutor</th> 
            <th>Cijfer tutor</th> 
            <th>Acties</th> 
           </tr> 
<? $result = mysql_query("SELECT * FROM users WHERE active = 2 AND bijles_school = '$schoolvanleerling' ORDER BY name ASC"); while($row = mysql_fetch_array($result)){ 
?> 
           <tr> 
            <td><a href="profiel.php?id=<? echo $row['id'];?>"><? echo $row['name'];?></a></td> 
            <td><? $resulta = mysql_query("SELECT * FROM klas WHERE id = '$row[klas]'"); while($rowa = mysql_fetch_array($resulta)){ ?><? echo $rowa['naam'];?><? }?></td> 
            <td> <? $bijlesvakkenn = explode(",", $row['bijles_tutor']); 
foreach ($bijlesvakkenn as $value) { 

?> 
<? $resultvak = mysql_query("SELECT * FROM vakken WHERE id = '$value' ORDER BY naam ASC"); while($rowvak = mysql_fetch_array($resultvak)){ 
echo $rowvak['naam'];?><br><? } } ?></td> 
            <td><? // echo getRating($row['id']); ?></td> 
            <td>nog geen cijfer beschikbaar</td> 
            <td>- <a href="mijnprofiel.php?do=manageschool&action=deactivatetutor&id=<? echo $row['id'];?>">Deactiveer Tutor</a><br>- <a href="mailto:<? echo $row['email'];?>">Contact opnemen</a></td> 
           </tr> 

           <? } ?> 
+4

您正在使用'$ result'兩次。 –

+1

請[格式](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks)您的代碼,以便我們更容易閱讀和理解什麼是錯誤。 –

+0

@MikeB我糾正了這種情況,但這並沒有解決問題。 – user1857116

回答

0

你剛纔從您的代碼替換此代碼,我認爲它的工作

<? $resultschool = mysql_query("SELECT * FROM school WHERE schoolid = '$schoolvanleerling'"); 

    while($rowschool = mysql_fetch_array($resultschool)) 
    { 
    $schoolnaam = $rowschool['schoolnaam']; 
    } ?> 
    </p><br> 
    <h3>Actieve tutors</h3> 
      <table class="demotable" border="0" cellspacing="0" cellpadding="0"> 
          <tr> 
           <th>Naam tutor</th> 
           <th>Klas tutor</th> 
           <th>Vakken tutor</th> 
           <th>Rating tutor</th> 
           <th>Cijfer tutor</th> 
           <th>Acties</th> 
          </tr> 
     <? $result = mysql_query("SELECT * FROM users WHERE active = 2 AND bijles_school = '$schoolvanleerling' ORDER BY name ASC"); 

    while($row = mysql_fetch_array($result)){ 
     ?> 
          <tr> 
           <td><a href="profiel.php?id=<? echo $row['id'];?>"><?   echo $row['name'];?></a></td> 
           <td><? $resulta = mysql_query("SELECT * FROM klas WHERE id = '$row[klas]'"); 
           while($rowa = mysql_fetch_array($resulta)){ 
            echo $rowa['naam']; 
            }?></td> 
           <td> <? $bijlesvakkenn = explode(",", $row['bijles_tutor']); 
           foreach ($bijlesvakkenn as $value) { 
                    $resultvak = mysql_query("SELECT * FROM vakken WHERE id = '$value' ORDER BY naam ASC"); 
                    while($rowvak = mysql_fetch_array($resultvak)){ 
                     echo $rowvak['naam']."<br>"; 
                     } 
                    } ?></td> 
           <td><? // echo getRating($row['id']); ?></td> 
           <td>nog geen cijfer beschikbaar</td> 
           <td><a href="mijnprofiel.php?do=manageschool&action=deactivatetutor&id=<? echo $row['id'];?>">Deactiveer Tutor</a><br>- <a href="mailto:<? echo $row['email'];?>">Contact opnemen</a></td> 
          </tr> 

          <? 
         } ?>