Hoe werkt een orderby?
Ik ben een beginnend PHP'er en wil graag een lijst ordenen zowel nummeriek als op alfabet maar ik weet niet hoe het moet,
zouden jullie hier een antwoord op hebben voor mij?
Alvast bedankt.
een paar waardes:
mitch
boris
sjappie
sjaak
en je zegt: ORDER BY naam ASC (<== van groot naar klein)
dan krijg je ze in deze volgorde
boris
mitch
sjaak
sjappie
ORDER BY naam DESC (<--- van klein naar groot)
sjappie
sjaak
mitch
boris
(of het is net andersom, moet je maar even kijken :-p)
Gr.
Boris
ik heb bijvoorbeeld dit:
+----------+-----------+
| ID | Naam |
+----------+-----------+
| 2 | blaat |
|-----------+-----------+
| 1 | meuk |
|-----------+-----------+
en dan wil ik dat als ik op 'ID' of op 'Naam' klik dat hij op volgorde springt.
Nu heb ik dus in mijn code staan:
$query = 'SELECT * FROM `dvdindex` ORDER BY `titel`';
en dat wil ik niet omdat ik zelf wil kiezen of ik wel wil ordenen op 'titel'.
Voorbeeld: http://www.phphulp.nl/voorbeeld/dvd/
daar kan je ook op 'titlel' 'genre' of 'jaar' klikken om hem te ordenen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
if(isset($_GET['orderby'])){
$order=$_GET['orderby'];
}
else
{
$order=id;
}
$sql="SELECT * FROM tabel ORDER by ".$order;
$res=mysql_query($sql);
if(mysql_num_rows($res)>0){
?>
<table>
<tr>
<td>
Resultaten
</td>
</tr>
<?php
while($row=mysql_fetch_array($res)){
?>
<tr>
<td>
<?php echo $row['titel']; ?>
</td>
</tr>
<?php } ?>
</table>
<?php } ?>
if(isset($_GET['orderby'])){
$order=$_GET['orderby'];
}
else
{
$order=id;
}
$sql="SELECT * FROM tabel ORDER by ".$order;
$res=mysql_query($sql);
if(mysql_num_rows($res)>0){
?>
<table>
<tr>
<td>
Resultaten
</td>
</tr>
<?php
while($row=mysql_fetch_array($res)){
?>
<tr>
<td>
<?php echo $row['titel']; ?>
</td>
</tr>
<?php } ?>
</table>
<?php } ?>
zoiets zal op die pagina staan
EDIT
Boris was sneller
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
if ($_GET['order'] == 'id') {
$sql .= "ORDER BY id";
} elseif ($_GET['order'] == 'name') {
$sql .= "ORDER BY name";
}
$sql = "SELECT * FROM dvdindex ";
Ik zal mijn pagina effe laten zien:
<!-- DVD Index V1.0 -->
<html>
<head>
<title>-- DVD Index ---</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="pagina">
<fieldset><center>
<b>DVD Index V1.0</b><br />
Code (php)
1
2
3
2
3
<?php
echo '<a href="voegtoe.php"><img src="add.gif">Toevoegen<img src="add.gif"></a>';
?>
echo '<a href="voegtoe.php"><img src="add.gif">Toevoegen<img src="add.gif"></a>';
?>
</fieldset></center>
<br />
<br />
<fieldset>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
//MySQL connectie
mysql_connect('*****', '******', '*****') or die (mysql_error()); //database connectie
mysql_select_db('******'); // database connectie
// Kijken of er iets verwijderd moet worden
if(isset($_GET['verwijder']))
{
$verwijder = 'DELETE FROM dvdindex WHERE id = '. $_GET['verwijder'];
mysql_query($verwijder) or die (mysql_error());
echo 'DVD met succes verwijderd!';
}
//DVD uit database halen
$query = 'SELECT * FROM dvdindex';
$query = 'SELECT * FROM `dvdindex` ORDER BY `titel`';
$result = mysql_query($query) or die('Fout bij uitvoeren query');
// DVD Index
echo '<br />';
echo '<br />';
echo '<table>';
echo '<tr>';
echo '<td width="75"><p class="thick"><a href="?order=id">ID</a> </p></td>';
echo '<td width="200"><p class="thick"><a href="?order=id">Titel</a> </p></td>';
echo '<td width="150"><p class="thick"><a href="?order=id">Jaar</a> </p></td>';
echo '<td width="150"><p class="thick"><a href="?order=id">Genre</a> </p></td>';
echo '<td width="150"><p class="thick"> Kijkwijzer </p></td>';
echo '<td width="200"><p class="thick">Opmerking</a> </p></td>';
echo '<td width="50"><p class="thick">Verwijder </p></td>';
echo '</tr>';
while ($row = mysql_fetch_assoc($result))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td><p class="thick">'.$row['titel'].'</p></td>';
echo '<td>'.$row['jaar'].'</td>';
echo '<td>'.$row['genre'].'</td>';
echo '<td>'.$row['kijkwijzer'].'</td>';
echo '<td>'.$row['opmerking'].'</td>';
echo '<td><a href="?verwijder='.$row['id'].'"><img src="del.gif"></a></td>';
echo '</tr>';
}
echo '</table>';
?>
//MySQL connectie
mysql_connect('*****', '******', '*****') or die (mysql_error()); //database connectie
mysql_select_db('******'); // database connectie
// Kijken of er iets verwijderd moet worden
if(isset($_GET['verwijder']))
{
$verwijder = 'DELETE FROM dvdindex WHERE id = '. $_GET['verwijder'];
mysql_query($verwijder) or die (mysql_error());
echo 'DVD met succes verwijderd!';
}
//DVD uit database halen
$query = 'SELECT * FROM dvdindex';
$query = 'SELECT * FROM `dvdindex` ORDER BY `titel`';
$result = mysql_query($query) or die('Fout bij uitvoeren query');
// DVD Index
echo '<br />';
echo '<br />';
echo '<table>';
echo '<tr>';
echo '<td width="75"><p class="thick"><a href="?order=id">ID</a> </p></td>';
echo '<td width="200"><p class="thick"><a href="?order=id">Titel</a> </p></td>';
echo '<td width="150"><p class="thick"><a href="?order=id">Jaar</a> </p></td>';
echo '<td width="150"><p class="thick"><a href="?order=id">Genre</a> </p></td>';
echo '<td width="150"><p class="thick"> Kijkwijzer </p></td>';
echo '<td width="200"><p class="thick">Opmerking</a> </p></td>';
echo '<td width="50"><p class="thick">Verwijder </p></td>';
echo '</tr>';
while ($row = mysql_fetch_assoc($result))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td><p class="thick">'.$row['titel'].'</p></td>';
echo '<td>'.$row['jaar'].'</td>';
echo '<td>'.$row['genre'].'</td>';
echo '<td>'.$row['kijkwijzer'].'</td>';
echo '<td>'.$row['opmerking'].'</td>';
echo '<td><a href="?verwijder='.$row['id'].'"><img src="del.gif"></a></td>';
echo '</tr>';
}
echo '</table>';
?>
<fieldset>
</div>
</body>
</html>
ik heb het al, dankjullie
Graag gedaan :-)