Sorteren van Gegevens
Hendrik de Jager
20/11/2010 19:47:24Ik zou graag even willen weten of de huidige manier van sorteren een goede manier is, of dat ik er beter mee kan stoppen en dat er een beter manier is?
Bij voorbaat bedankt.
Bij voorbaat bedankt.
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
<?php
switch ($_GET['sort']) {
case '^name': $sort = 'ORDER BY PlayerName ASC';
break;
case 'vname': $sort = 'ORDER BY PlayerName DESC';
break;
}
$query = "SELECT PlayerName, PlayerMoney, RegisterDate FROM playertable $sort";
$result = mysql_query($query, $mysql);
echo '<table><tr> <td width="100"><b>Speler</b> <a href="/highscores.php?sort=^name" class="menulink">^</a> <a href="/highscores.php?sort=vname" class="menulink">v</a></td>
<td width="120"><b>Vermogen</b></td>
<td width="100"><b>Dagen Actief</b></td></tr>';
while($row = mysql_fetch_assoc($result)) {
$player = ucfirst($row['PlayerName']);
$vermogen = '€ ' . number_format($row['PlayerMoney'],2,',','.');
echo '<tr><td>' . $player . '</td><td>' . $vermogen . '</td><td>' . getDaysInBetween($row['RegisterDate'],date('Y-m-d')) . '</td></tr>';
}
echo '</table><br/><a href="index.php" class="menulink">Terug naar menu</a>';
?>
switch ($_GET['sort']) {
case '^name': $sort = 'ORDER BY PlayerName ASC';
break;
case 'vname': $sort = 'ORDER BY PlayerName DESC';
break;
}
$query = "SELECT PlayerName, PlayerMoney, RegisterDate FROM playertable $sort";
$result = mysql_query($query, $mysql);
echo '<table><tr> <td width="100"><b>Speler</b> <a href="/highscores.php?sort=^name" class="menulink">^</a> <a href="/highscores.php?sort=vname" class="menulink">v</a></td>
<td width="120"><b>Vermogen</b></td>
<td width="100"><b>Dagen Actief</b></td></tr>';
while($row = mysql_fetch_assoc($result)) {
$player = ucfirst($row['PlayerName']);
$vermogen = '€ ' . number_format($row['PlayerMoney'],2,',','.');
echo '<tr><td>' . $player . '</td><td>' . $vermogen . '</td><td>' . getDaysInBetween($row['RegisterDate'],date('Y-m-d')) . '</td></tr>';
}
echo '</table><br/><a href="index.php" class="menulink">Terug naar menu</a>';
?>
PHP hulp
25/11/2024 04:15:04- SanThe -
20/11/2010 20:32:57Hou $vars buiten de quotes.
Gebruik geen ^ in de input. (Kan rare effecten hebben).
Gebruik in de switch ook 'default'. Nu zal $sort niet bekend zijn bij elke 'vreemde' input.
Gebruik geen ^ in de input. (Kan rare effecten hebben).
Gebruik in de switch ook 'default'. Nu zal $sort niet bekend zijn bij elke 'vreemde' input.
- SanThe - op 20/11/2010 20:32:57:
(...)
Gebruik geen ^ in de input. (Kan rare effecten hebben).
(...)
Gebruik geen ^ in de input. (Kan rare effecten hebben).
(...)
Wat dan?
Je hoeft verder alleen maar op ASC of DESC te switchen, dus dat kan je ook nog opschonen. En mysql kan ook gewoon terug geven hoeveel dagen verschil er is.
En bouw foutafhandeling in (c.q. check het aantal regels dat je kan ophalen), dan heb je ook geen halve tabel als er niks op te halen valt.