Sorteren op veranderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorik

Jorik

05/09/2004 09:35:00
Quote Anchor link
Ik heb een script dat haalt gegevens uit de database en sorteert ze dan op instrument.
Nu wil ik dat als je op 'naam' klikt (url) dat ie dan gaat sorteren op naam, ipv instrument..

het script:
[ledenlijst.php]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$pagenaam
= "Ledenlijst";
include("includes/header_page.php");
?>

<table class="tbl1">
<tr>
<td width="50%" class="tbltop">Naam</td>
<td width="50%" class="tbltop">Instrument</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
include("includes/ubb.php");
include("includes/connect.php");
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql
= "SELECT * FROM leden ORDER BY instrument ASC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$naam = htmlspecialchars($rij->naam);
$instrument = htmlspecialchars($rij->instrument);
set_smilies($bericht);
echo "<tr>\n";
echo "<td width='50%'>".$naam."</td>\n";
echo "<td width='50%'>".$instrument."</td>\n";
echo "</tr>\n";
}

?>

</table>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("includes/footer_page.php");
?>


Nu moet ik dan 'SELECT * FROM leden ORDER BY instrument ASC' veranderen naar 'SELECT * FROM leden ORDER BY naam ASC', dat begrijp ik, maar hoe kan ik dat doen alleen dmv. op een link te klikken.
Ik zat te denken aan dat instrument vervangen door $order, en dan voor $order de get functie te doen, en dan sort te noemen, uds dat dan de url word ledenlijst.php?sort=naam/instrument.. dan word het bij mij (gebruik de include/get functie) ?p=ledenlijst&sort=instrument/naam

Maar hoe kan dit.. ik ben nog niet zo goed in php, maar het bovenstaande was m'n ideetje, weet alleen niet hoe ik het moet uitvoeren.
 
PHP hulp

PHP hulp

23/01/2025 20:40:04
 
Jorik

Jorik

05/09/2004 09:49:00
Quote Anchor link
Tis gelukt:
[ledenlijst.php]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$pagenaam
= "Ledenlijst";
include("includes/header_page.php");
?>

<table class="tbl1">
<tr>
<td width="50%" class="tbltop"><a class="border" href="index.php?p=ledenlijst&sort=naam">Naam</a></td>
<td width="50%" class="tbltop"><a class="border" href="index.php?p=ledenlijst&sort=instrument">Instrument</a></td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
include("includes/ubb.php");
include("includes/connect.php");
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if (isset($_GET['sort'])) {
$sort=$_GET['sort'];
}
else {
$sort = "instrument"; }

$sql = "SELECT * FROM leden ORDER BY $sort ASC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$naam = htmlspecialchars($rij->naam);
$instrument = htmlspecialchars($rij->instrument);

echo "<tr>\n";
echo "<td width='50%'>".$naam."</td>\n";
echo "<td width='50%'>".$instrument."</td>\n";
echo "</tr>\n";
}

?>

</table>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("includes/footer_page.php");
?>


Misschien een beetje onzinnig om dit:
if (isset($_GET['sort'])) {
$sort=$_GET['sort'];
} else {
$sort = "instrument"; }
te doen, het kan ook:
SELECT * FROM leden ORDER BY $_GET[sort] ASC

maar dat heeft ook een reden, als je dan naar ?p=ledenlijst gaat, dan krijg je een mysql failure, want dan heb je geen sort opgegeven, en met die andere komt dan automatisch instrument..
 
Dutchcamel

dutchcamel

05/09/2004 14:30:00
Quote Anchor link
Het kan als je wil ook in 1 regel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$sort
= isset($_GET['sort']) ? $_GET['sort'] : 'instrument';
?>


Is denk ik wel logisch wat die regel doet :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.