I have a problem where the PHP page only returns one row instead of a couple. It should return multiple rows nicely in the table, but it doesn't.. If I delete the appearing row, it will display the next one (but still one).
UPDATE: Sorry, I didn't explain about which MySQL query the question is. It is about "SELECT * FROM users WHERE active = 2..."
PS: I know I should not use MySQL and instead PDO or MySQLi, but I'll change this soon.
<? $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 } ?>
UPDATED WORKING CODE: change is that I'm no longer using $result more than once
<? $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>
<? } ?>
You Just Replace this Code from your code I think Its Working
<? $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>
<?
} ?>