Hulp met link sorteren in tabel
Ik ben best nieuw met PHP. Hieronder heb ik een heel klein scriptje gemaakt.
<html>
<head>
<title>
</title>
</head>
<body>
<table border ="1" cellpadding="0" cellspacing="0">
<th><a href="">Klant</a></th><th><a href="">Artikel</a></th><th><a href="">Prijs</a></th>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$connect = mysql_connect("Localhost", "root", "");
$db = mysql_select_db("test");
$sql_klant = "SELECT * FROM klant ORDER BY achternaam";
$resultaat = mysql_query($sql_klant) or die (mysql_error);
while ($rij = mysql_fetch_assoc($resultaat))
{
?>
$connect = mysql_connect("Localhost", "root", "");
$db = mysql_select_db("test");
$sql_klant = "SELECT * FROM klant ORDER BY achternaam";
$resultaat = mysql_query($sql_klant) or die (mysql_error);
while ($rij = mysql_fetch_assoc($resultaat))
{
?>
<form action = "" name="tabel" method="get">
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sql_artikel = "SELECT * FROM artikel ORDER BY Omschrijving && Prijs";
$resultaat2 = mysql_query($sql_artikel) or die (mysql_error);
while ($row = mysql_fetch_assoc($resultaat2))
{
echo "<td>". $row['Omschrijving'] . "</td><td>" . $row['Prijs'] . "</td></tr>";
}
?>
$sql_artikel = "SELECT * FROM artikel ORDER BY Omschrijving && Prijs";
$resultaat2 = mysql_query($sql_artikel) or die (mysql_error);
while ($row = mysql_fetch_assoc($resultaat2))
{
echo "<td>". $row['Omschrijving'] . "</td><td>" . $row['Prijs'] . "</td></tr>";
}
?>
</table>
</body>
</html>
In dit script wil ik onder de TH Koppen van de tabel een link maken. Dit heb ik ook gedaan. Als ik op de link klikt, dan moet bijvoorbeeld de kolom Klant wordt gesorteerd. Dit geldt eveneens voor artikel en prijs.
Ik denk zelf dat het te maken heeft met de GET functie, maar ik weet nu hoe ik dit moet oplossen.
Kunnen jullie mijn helpen?
moet zo zijn =>
$sql_artikel = "SELECT * FROM artikel ORDER BY Omschrijving, Prijs";
Oke. Heb je ook een idee hoe ik die links kan laten sorteren?
bijvoorbeeld zo:
<a href="pagina.php?sorteerop=kolom1"></a>
als er op geklikt wordt kun je via $_GET['sorteerop'] kijken waarop gesorteerd moet worden. Die waarde verwerk je dan in je query bij ORDER BY.
Maar nou krijg ik de volgende error:
syntax error, unexpected "T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING"
En dit is de code:
$sql_klant = "SELECT * FROM klant ORDER BY $_GET['achternaam']";
Ik denk dat Jan meer iets bedoelde in de richting van:
switch($_GET['sorteerop']){
case('achternaam'):
$order = 'achternaam';
break;
case('prijs'):
$order = 'prijs';
break;
default:
$order = 'artikel';
break;
}
$sql = "SELECT * FROM klant ORDER BY ".$order;