Door
samet ozel
op 08-01-2011 16:00
gewijzigd op 08-01-2011 19:37
6.243 views
Ik heb nu een script waarmee ik dus gegevens uit mijn database haal en ook kan zoeken, dit gebeurd probleemloos. het lukt mij niet om een knop boven studentennummer en een knop boven achternaam te plaatsen waarmee ik mijn resultaten uit mijn database kan sorteren.ik heb nu dit:
<html>
<head>
<title></title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
// Koppelen met de server//
mysql_connect("localhost", "root", "") or die ("error server");
// Koppelen met de database wat nodig is //
mysql_select_db("datbaseHogeschool.db") or die ("error database");
/* print het invoerveld, dropdownlist en de knop */
echo '
<form action="" method="get">
Zoek: <input type="text" name="snaam"/>
<select name="dropdown">
<option value="NULL">Zoek op..</option>
<option value="studentnummer">Studentnummer</option>
<option value="achternaam">Achternaam</option>
<option value="voornaam">Voornaam</option>
<option value="geboortedatum">Geboortedatum</option>
<option value="slb">Slb</option>
</select>
<input type="submit" value="Zoeken" name="submit"/>
</form>
';
/* print tabel header */
echo '
<table class="header">
<tr>
<th>Studentnummer</th>
<th>Achternaam</th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th>Slb</th>
<tr>
';
//zodra op de knop zoeken gedrukt wordt
//en anders print alle studenten op
if (isset($_GET['submit']) && ($_GET['dropdown'] != "NULL") ){
// haal de ingevoerde waarde op
$snaam = $_GET['snaam'];
$dropdown = $_GET['dropdown'];
//--> zoeken moet nog
//zoek in de database op de opgegeven informatie in het invoerveld, dropdownlist
$resultaten = mysql_query("SELECT * FROM student WHERE $dropdown = '$snaam'") or die("error query opdracht 1");
}else {
$resultaten = mysql_query("SELECT * FROM student;") or die("error query opdracht 1");
}
/* print per rij de inhoud uit de database */
while ($resultaatOp2 = mysql_fetch_array($resultaten)){
echo '
<tr>
<td>'. $resultaatOp2['studentnummer'] .'</td>
<td>'. $resultaatOp2['achternaam'] .'</td>
<td>'. $resultaatOp2['voornaam'] .'</td>
<td>'. $resultaatOp2['geboortedatum'] .'</td>
<td>'. $resultaatOp2['slb'] .'</td>
<tr>
';
}
/* einde tabel */
echo '</table>';
?>
</body>
</html>
[size=xsmall]Toevoeging op 08/01/2011 16:03:01:[/size]
Wat ik persoonlijk zou doen is werken met een GET.
<a href="pagina.php?waargave=oplopend&volgens=user_id">Sorteer oplopens volgens user ID</a>
<?php
$weergave = $_GET['weergave'];
$volgens = $_GET['volgens'];
if($weergave = 'oplopend') {
//*** de rest kan je zelf wel uitvinden
/*
Dit verwerk je dan in je query
*/
?>
Foutje in jouw code:
if($weergave = 'oplopend') {
Moet natuurlijk == zijn.
Ik wil op die twee knoppen een zodanig stukje script schrijven waarmee ik met bijv. <input type="submit" value="sort" name="achtern_sorteerop"/> de resultaten kan ordenen op achternaam.
Ik kom er nu echt niet meer uit??:(
[size=xsmall]Toevoeging op 08/01/2011 16:48:34:[/size]
ik had dit gevonden maar hoe kan ik dit hangen aan mijn knop:
$resultaat = mysql_query("SELECT * FROM student ORDER BY achternaam")
or die(mysql_error());
kan dit?
[size=xsmall]Toevoeging op 08/01/2011 18:00:06:[/size]
Ik ben overal aan het zoeken maar ik kom er niet meer uit kan iemand mij alstublieft helpen?
Ik weet nu dat ik order by moet gebruiken maar snap niet precies hoe ik dit kan hangen aan een knop
Ik hoop dat iemand mij kan helpen
[size=xsmall]Toevoeging op 08/01/2011 18:58:55:[/size]
Tuurlijk wel; {veldnaam = 'dinges'} is een boolean, daar kun je op sorteren. Maar een beetje maf is het in dit geval wel; in POST[order] zit 'ASC' of 'DESC'.
//zodra op de knop zoeken gedrukt wordt
//en anders print alle studenten op
$sql = "SELECT * FROM `student` ORDER BY `student`.`studentnummer` DESC LIMIT 0, 30 ";
if (isset($_GET['submit']) && ($_GET['dropdown'] != "NULL") ){
// haal de ingevoerde waarde op
$snaam = $_GET['snaam'];
$dropdown = $_GET['dropdown'];
//--> zoeken moet nog
//zoek in de database op de opgegeven informatie in het invoerveld, dropdownlist
$resultaten = mysql_query("SELECT * FROM student WHERE $dropdown = '$snaam'") or die("error query opdracht 1");
}else {
$resultaten = mysql_query("SELECT * FROM student;") or die("error query opdracht 1");
}
/* print per rij de inhoud uit de database */
while ($resultaatOp2 = mysql_fetch_array($resultaten)){
echo '
<tr>
<td>'. $resultaatOp2['studentnummer'] .'</td>
<td>'. $resultaatOp2['achternaam'] .'</td>
<td>'. $resultaatOp2['voornaam'] .'</td>
<td>'. $resultaatOp2['geboortedatum'] .'</td>
<td>'. $resultaatOp2['slb'] .'</td>
<tr>
';
}
Hoe kan ik ervoor zorgen dat het werkt want als ik het goed heb is dat stukje van regel 48 wat ik moet hebben maar hoe zorg ik ervoor dat het reageert op wanneer ik op knop std_num_sorteerop klik?
Ik heb het gevoel alsof ik er bijna ben, ik ben er echt zoooo lang mee bezig en ik ben maar een beginner.
Ik hoop dat jullie me kunnen helpen