database gegevens sorteren??
Edit: Je hebt twee formulieren. Als er één formulier wordt gepost dan is het andere formulier weer leeg. Ik denk dat je hele opzet niet echt klopt.
Gewijzigd op 08/01/2011 22:05:07 door - SanThe -
Het moet niet verbonden zijn aan het zoeken. Wanneer ik nog niet heb gezocht krijg ik al de gegevens te zien van mijn database, Als ik zoek dan krijg ik dus alleen datgene wat ik wil hebben. Maar wat ik wil is dus dat de twee knoppen die ik heb gezet naast studenten nummer en achternaam gaan ordenen. Dus wanneer mijn tabel de gegevens laat zien uit de database en ik druk op knop orden naast studentennummer dan moet de tabel geordend worden van klein naar groot(studentennummers) net als bijv bij marktplaats dat je op prijs klikt en dat het dan gaat ordenen van goedkoop naar duur.
Om na het verkrijgen van het zoekresultaat te kunnen sorteren zal je de zoekterm moeten onthouden. Is het misschien verstandig om dat soort gegevens in een session te bewaren? Ook wil je waarschijnlijk het sorteergedrag bewaren.
Moet ik veel veranderen aan wat ik nu heb?
trouwens ik heb die tweede formulier gemaakt met de hoop dat hij het dan wel zou doen dus die is niet zo relevant denk ik. Kan ik de formulier op lijn 35 gewoon weghalen en dan de functie op lijn 48 koppelen aan mijn knop?
Als het klaar is post ik het en moet je maar zien of het wat is.
super bedankt! Ik wacht:)
Ben benieuwd of het wat is en of het werkt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
session_start();
$_SESSION['snaam'] = isset($_SESSION['snaam']) ? $_SESSION['snaam'] : false;
$_SESSION['snaam'] = isset($_GET['snaam']) ? $_GET['snaam'] : $_SESSION['snaam'];
$_SESSION['dropdown'] = isset($_SESSION['dropdown']) ? $_SESSION['dropdown'] : false;
$_SESSION['dropdown'] = isset($_GET['dropdown']) ? $_GET['dropdown'] : $_SESSION['dropdown'];
$_SESSION['dropdown'] = $_SESSION['dropdown'] != 'NULL' ? $_SESSION['dropdown'] : false;
$_SESSION['sort'] = isset($_SESSION['sort']) ? $_SESSION['sort'] : 'Studentnummer';
$_SESSION['sort'] = isset($_GET['sort']) ? $_GET['sort'] : $_SESSION['sort'];
$_SESSION['type'] = isset($_SESSION['type']) ? $_SESSION['type'] : 'ASC';
$_SESSION['type'] = isset($_GET['type']) ? $_GET['type'] : $_SESSION['type'];
$_SESSION['switchtype'] = $_SESSION['type'] == 'ASC' ? 'DESC' : 'ASC';
// 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><a href="?sort=Studentnummer&type=' . $_SESSION['switchtype'] . '">Studentnummer</a></th>
<th><a href="?sort=Achternaam&type=' . $_SESSION['switchtype'] . '">Achternaam</a></th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th><a href="?sort=Slb&type=' . $_SESSION['switchtype'] . '">Slb</a></th>
</tr>
';
//zodra op de knop zoeken gedrukt wordt
if($_SESSION['snaam'] and $_SESSION['dropdown'])
{
$zoeken = " WHERE " . ($_SESSION['dropdown']) . " = '" . ($_SESSION['snaam']) . "' ";
}
else
{
$zoeken = '';
}
//en anders print alle studenten op
$sql = "SELECT * FROM student " . $zoeken . " ORDER BY " . $_SESSION['sort'] . " " . $_SESSION['type'] . " LIMIT 0, 30 ";
if($result = mysql_query($sql))
{
/* print per rij de inhoud uit de database */
while ($resultaatOp2 = mysql_fetch_array($result)){
echo '
<tr>
<td>'. $resultaatOp2['studentnummer'] .'</td>
<td>'. $resultaatOp2['achternaam'] .'</td>
<td>'. $resultaatOp2['voornaam'] .'</td>
<td>'. $resultaatOp2['geboortedatum'] .'</td>
<td>'. $resultaatOp2['slb'] .'</td>
</tr>
';
}
}
else
{
echo 'ERROR in de query';
}
/* einde tabel */
echo '</table>';
?>
session_start();
$_SESSION['snaam'] = isset($_SESSION['snaam']) ? $_SESSION['snaam'] : false;
$_SESSION['snaam'] = isset($_GET['snaam']) ? $_GET['snaam'] : $_SESSION['snaam'];
$_SESSION['dropdown'] = isset($_SESSION['dropdown']) ? $_SESSION['dropdown'] : false;
$_SESSION['dropdown'] = isset($_GET['dropdown']) ? $_GET['dropdown'] : $_SESSION['dropdown'];
$_SESSION['dropdown'] = $_SESSION['dropdown'] != 'NULL' ? $_SESSION['dropdown'] : false;
$_SESSION['sort'] = isset($_SESSION['sort']) ? $_SESSION['sort'] : 'Studentnummer';
$_SESSION['sort'] = isset($_GET['sort']) ? $_GET['sort'] : $_SESSION['sort'];
$_SESSION['type'] = isset($_SESSION['type']) ? $_SESSION['type'] : 'ASC';
$_SESSION['type'] = isset($_GET['type']) ? $_GET['type'] : $_SESSION['type'];
$_SESSION['switchtype'] = $_SESSION['type'] == 'ASC' ? 'DESC' : 'ASC';
// 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><a href="?sort=Studentnummer&type=' . $_SESSION['switchtype'] . '">Studentnummer</a></th>
<th><a href="?sort=Achternaam&type=' . $_SESSION['switchtype'] . '">Achternaam</a></th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th><a href="?sort=Slb&type=' . $_SESSION['switchtype'] . '">Slb</a></th>
</tr>
';
//zodra op de knop zoeken gedrukt wordt
if($_SESSION['snaam'] and $_SESSION['dropdown'])
{
$zoeken = " WHERE " . ($_SESSION['dropdown']) . " = '" . ($_SESSION['snaam']) . "' ";
}
else
{
$zoeken = '';
}
//en anders print alle studenten op
$sql = "SELECT * FROM student " . $zoeken . " ORDER BY " . $_SESSION['sort'] . " " . $_SESSION['type'] . " LIMIT 0, 30 ";
if($result = mysql_query($sql))
{
/* print per rij de inhoud uit de database */
while ($resultaatOp2 = mysql_fetch_array($result)){
echo '
<tr>
<td>'. $resultaatOp2['studentnummer'] .'</td>
<td>'. $resultaatOp2['achternaam'] .'</td>
<td>'. $resultaatOp2['voornaam'] .'</td>
<td>'. $resultaatOp2['geboortedatum'] .'</td>
<td>'. $resultaatOp2['slb'] .'</td>
</tr>
';
}
}
else
{
echo 'ERROR in de query';
}
/* einde tabel */
echo '</table>';
?>
Gewijzigd op 08/01/2011 23:34:52 door - SanThe -
nu haalt hij geen gegevens meer uit mijn database en staat er onder mijn zoekfunctie SELECT * FROM student ORDER BY Slb DESC LIMIT 0, 30
Ik heb het script aangepast, nu moet het werken.
Toevoeging op 08/01/2011 23:18:24:
nu geeft het dit aan:
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /Users/sametozel/Sites/index.php on line 67
Toevoeging op 08/01/2011 23:22:51:
Oeps.
Deze regel
while ($resultaatOp2 = mysql_fetch_array($resultaten)){
veranderen in dit
while ($resultaatOp2 = mysql_fetch_array($result)){
Toevoeging op 08/01/2011 23:24:00:
Script is ook aangepast.
Toevoeging op 08/01/2011 23:26:01:
Ook nog een html-foutje aangepast in het script.
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.
Kan je mij misschien iets meer uitleg geven over wat er nu precies is gebeurd, ik wil het graag leren
Toevoeging op 08/01/2011 23:49:47:
heeeel erg bedankt
Deze regels
Code (php)
zijn verkorte if()-jes.
Eigenlijk staat er dit in deze twee regels.
Code (php)
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.
Code (php)
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.
Gewijzigd op 09/01/2011 00:04:57 door - SanThe -
Toevoeging op 09/01/2011 00:22:59:
ik begrijp het niet zo goed ik wil niet vervelend overkomen, maar ik wil het graag leren.
Ik vind het uitleggen van dit scriptje ook best lastig.
bedankt voor je hulp