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

De session onthoudt nu waarop gesorteerd moet worden. De zoekterm wordt ook onthouden totdat je het formulier opnieuw post. Dus je kan ook na het zoeken sorteren op de gevonden records.

[size=xsmall]Toevoeging op 08/01/2011 23:22:51:[/size]

Oeps.

Deze regel
while ($resultaatOp2 = mysql_fetch_array($resultaten)){

veranderen in dit
while ($resultaatOp2 = mysql_fetch_array($result)){

[size=xsmall]Toevoeging op 08/01/2011 23:24:00:[/size]

Script is ook aangepast.

[size=xsmall]Toevoeging op 08/01/2011 23:26:01:[/size]

Ook nog een html-foutje aangepast in het script.
hij werkt super!!
alleen nu kan ik dit niet plaatsen :

<head>
<title></title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
Waarom niet?

Parse error: syntax error, unexpected '<' in /Users/sametozel/Sites/index.php on line 2
Vanaf regel 20 begint de html. Ik heb de session-dingen bovenin gezet. Zie het gewijzigde script. Je moet om html toe te voegen óf php even sluiten en later weer openen, óf de html in een echo zetten.
super! het is gelukt

Kan je mij misschien iets meer uitleg geven over wat er nu precies is gebeurd, ik wil het graag leren

[size=xsmall]Toevoeging op 08/01/2011 23:49:47:[/size]

heeeel erg bedankt
Ik geef de session de waarden uit het formuier en uit de sorteerlinken gewoon om dat te onthouden zodat je het steeds kunt opvragen.

Deze regels

<?php
$_SESSION['snaam'] = isset($_SESSION['snaam']) ? $_SESSION['snaam'] : false;
$_SESSION['snaam'] = isset($_GET['snaam']) ? $_GET['snaam'] : $_SESSION['snaam'];
?>

zijn verkorte if()-jes.

Eigenlijk staat er dit in deze twee regels.

<?php
if(isset($_SESSION['snaam']))
{
$_SESSION['snaam'] = $_SESSION['snaam'];
}
else
{
$_SESSION['snaam'] = false;
}
if(isset($_GET['snaam']))
{
$_SESSION['snaam'] = $_GET['snaam'];
}
else
{
$_SESSION['snaam'] = $_SESSION['snaam'];
}
?>

Als je het zo in een echte if() uitschrijft dan zie je dat er overbodige dingen in staan en zou het er zo uit komen te zien.

<?php
if(!isset($_SESSION['snaam']))
{
$_SESSION['snaam'] = false;
}
if(isset($_GET['snaam']))
{
$_SESSION['snaam'] = $_GET['snaam'];
}
?>

Het gaat er om dat $_SESSION['snaam'] bekend is en dat, als er een waarde in zit, het de zoekterm is.

Ik hoop dat mijn verhaal te volgen is. Het is best lastig om dit even snel uit te leggen.
ik probeer het te begrijpe:):)

[size=xsmall]Toevoeging op 09/01/2011 00:22:59:[/size]

ik begrijp het niet zo goed ik wil niet vervelend overkomen, maar ik wil het graag leren.
Misschien is dit nog te lastig voor jou. Misschien moet je eens een scriptje maken met een eenvoudiger gebruik van sessions. Gewoon om het een beetje te onderzoeken.

Ik vind het uitleggen van dit scriptje ook best lastig.
hartelijk bedankt ik zal het zelf een beetje proberen uit te zoeken op internet:)
bedankt voor je hulp

Reageren