Top 10
Ik ben momenteel bezig met m'n ledensysteem waarbij mensen punten kunnen krijgen, en ben ook bezig met een top-10 meeste punten.
Naast de gebruikersnaam en aantal, zou ik graag de positie van diegene willen weergeven, bijv:
#1 - PHPHulp - 10 punten
Weet iemand hoe ik dat kan doen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
while($row= mysql_fetch_assoc($sql)){
echo "<tr>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
while($row= mysql_fetch_assoc($sql)){
echo "<tr>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
TIP: mysqli (op termijn verdwijnt mysql)
TIP: " voor html en ' voor php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>#</b></td>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
$count = "0";
while($row= mysql_fetch_assoc($sql)){
$count = $count + '1';
echo "<tr>
<td>#".$count."</td>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>#</b></td>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
$count = "0";
while($row= mysql_fetch_assoc($sql)){
$count = $count + '1';
echo "<tr>
<td>#".$count."</td>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
Gewijzigd op 12/07/2013 14:42:02 door php knipper
Php knipper op 12/07/2013 14:41:08:
Zo?
TIP: mysqli (op termijn verdwijnt mysql)
TIP: " voor html en ' voor php
TIP: mysqli (op termijn verdwijnt mysql)
TIP: " voor html en ' voor php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>#</b></td>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
$count = "0";
while($row= mysql_fetch_assoc($sql)){
$count = $count + '1';
echo "<tr>
<td>#".$count."</td>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
$sql = mysql_query("SELECT * FROM gebruikers ORDER BY punten DESC LIMIT 10");
echo "<table border='0' width='100%'>
<tr>
<td><b>#</b></td>
<td><b>Gebruikersnaam</b></td>
<td><b>Aantal punten</b></td>
</tr>";
$count = "0";
while($row= mysql_fetch_assoc($sql)){
$count = $count + '1';
echo "<tr>
<td>#".$count."</td>
<td><a href='index.php?p=profiel&id=".$rpw['id']."'>".$row['gebruikersnaam']."</a></td>
<td>".$row['punten']." punten</td>
</tr>";
}
echo "</table>";
?>
Yes! Hij werkt!
Weet je toevallig ook wanneer MySQL verdwijnt? En is MySQL dan niet meer te gebruiken?
Het kan in de praktijk nog wel een paar jaar duren voordat de meeste webhostings over zullen zijn, maar het kan geen kwaad om je er alvast op voor te gaan bereiden.
Php knipper op 12/07/2013 14:41:08:
Het is maar een detail ... maar een lus met een teller, daarvoor is de for() uitgevonden.
Code (php)
1
2
3
4
2
3
4
<?php
for($count = 1; $row= mysql_fetch_assoc($sql); $count++) {
echo "<tr><td>#".$count."</td> ...";
}
for($count = 1; $row= mysql_fetch_assoc($sql); $count++) {
echo "<tr><td>#".$count."</td> ...";
}
Daarnaast nog een tip voor M de Haan:
Kan veel korter:
Die vergroot de teller met 1 (en niet met '1', want dat is tekst).