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]

sorry perongeluk 2 keer geplaatst

Gebruik geen or die, bouw correcte fouthandeling in.
Gebruik geen * dit is een wildcard selecteer wat je wilt.
Gebruik mysql_fetch_assoc ipv array.
Mysql injectie mogelijk . ( mysql_real_escape_string
controleren of er gepost is doe je met. $_SERVER['REQUEST_METHOD'] == 'POST' )
Ik zie geen knoppen volgens mij.
Script is lek => SQL-Injection.
ik moet or die gebruiken dat is een eis :(
Ik heb die knoppen nog niet omdat ik niet weet hoe het script werkt
Hmmz,

Ik zie ook nergens in je query enige vorm van sorteren staan. ORDER BY iets DESC (of ASC)
ik snap het niet meer:(
kan dit?:


<input type="submit" value="sorteer" name="sorteerop"/>
$sorteerop = $_GET['sorteerop'];
$resultaten = mysql_query("SELECT * FROM student  ORDER BY $sorteerop")


Nee. In $_GET['sorteerop'] zit de waarde 'sorteer', en ik neem niet aan dat jij een veld in de database hebt met die naam.
En zoals ik net al zei ,
Gebruik geen * dit is een wildcard selecteer wat je wilt.
nee
Ik heb nu wel 2 knoppen geplaatst:


<table class="header">
	<tr>
		<th>Studentnummer
		<input type="submit" value="sort" name="std_num_sorteerop"/>
		</th>
		<th>Achternaam<input type="submit" value="sort" name="achtern_sorteerop"/></th>
		<th>Voornaam</th>
		<th>Geboortedatum</th>
		<th>Slb</th>
	<tr>	


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 
*/

Je bedoeld pagina.php?weergave ipv waargave.

Reageren