database gegevens sorteren??
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
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
<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>
<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>
Toevoeging op 08/01/2011 16:03:01:
sorry perongeluk 2 keer geplaatst
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 08/01/2011 19:37:55 door Bas IJzelendoorn
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' )
Gewijzigd op 08/01/2011 16:07:29 door Jordi Kroon
Script is lek => SQL-Injection.
Ik heb die knoppen nog niet omdat ik niet weet hoe het script werkt
Ik zie ook nergens in je query enige vorm van sorteren staan. ORDER BY iets DESC (of ASC)
kan dit?:
Code (php)
1
2
3
2
3
<input type="submit" value="sorteer" name="sorteerop"/>
$sorteerop = $_GET['sorteerop'];
$resultaten = mysql_query("SELECT * FROM student ORDER BY $sorteerop")
$sorteerop = $_GET['sorteerop'];
$resultaten = mysql_query("SELECT * FROM student ORDER BY $sorteerop")
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 08/01/2011 19:38:17 door Bas IJzelendoorn
Nee. In $_GET['sorteerop'] zit de waarde 'sorteer', en ik neem niet aan dat jij een veld in de database hebt met die naam.
Gebruik geen * dit is een wildcard selecteer wat je wilt.
Ik heb nu wel 2 knoppen geplaatst:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<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>
<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>
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 08/01/2011 19:38:39 door Bas IJzelendoorn
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<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
*/
[/code]
<?php
$weergave = $_GET['weergave'];
$volgens = $_GET['volgens'];
if($weergave = 'oplopend') {
//*** de rest kan je zelf wel uitvinden
/*
Dit verwerk je dan in je query
*/
[/code]
Je bedoeld pagina.php?weergave ipv waargave.
Write Down op 08/01/2011 16:25:48:
Wat ik persoonlijk zou doen is werken met een GET.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<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
*/
?>
<?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.
Gewijzigd op 08/01/2011 16:31:34 door - SanThe -
Ik kom er nu echt niet meer uit??:(
Toevoeging op 08/01/2011 16:48:34:
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?
Toevoeging op 08/01/2011 18:00:06:
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
Toevoeging op 08/01/2011 18:58:55:
?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<form action="" method="post">
<select name="order">
<option value="Asc">Asc</option>
<option value="Desc">Desc</option>
</select>
<input type="submit" value="Orden">
</form>
<select name="order">
<option value="Asc">Asc</option>
<option value="Desc">Desc</option>
</select>
<input type="submit" value="Orden">
</form>
Dan kijk je of er op de knop is gedrukt en de waarde van order bestaat.
Code (php)
Als alles goed is voer je de query uit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "
SELECT
regel1,
regel2,
regel3
FROM
tabel
ORDER BY
regel1 ".mysql_real_escape_string( $_POST['order'] )."
";
?>
$sql = "
SELECT
regel1,
regel2,
regel3
FROM
tabel
ORDER BY
regel1 ".mysql_real_escape_string( $_POST['order'] )."
";
?>
Gewijzigd op 09/01/2011 09:25:04 door Milo S
Milo S op 08/01/2011 19:30:57:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "
SELECT
regel1,
regel2,
regel3
FROM
tabel
ORDER BY
regel1 = '".mysql_real_escape_string( $_POST['order'] )."'
";
?>
$sql = "
SELECT
regel1,
regel2,
regel3
FROM
tabel
ORDER BY
regel1 = '".mysql_real_escape_string( $_POST['order'] )."'
";
?>
ORDER BY veldnaam ASC (of DESC)
Dus géén = en géén quotes.
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'.
Wil je misschien kijken wat ik fout doe en mij proberen te verbeteren want ik kom er niet meer uit.
negeer de comments :
<html>
<head>
<title></title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
<body>
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
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
<?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
<form action="" method="post">
<input type="submit" value="sort" name="std_num_sorteerop"/>
</form>
</th>
<th>Achternaam<input type="submit" value="sort" name="achtern_sorteerop"/></th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th>Slb</th>
<tr>
';
//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>
';
}
/* einde tabel */
echo '</table>';
?>
// 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
<form action="" method="post">
<input type="submit" value="sort" name="std_num_sorteerop"/>
</form>
</th>
<th>Achternaam<input type="submit" value="sort" name="achtern_sorteerop"/></th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th>Slb</th>
<tr>
';
//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>
';
}
/* einde tabel */
echo '</table>';
?>
</body>
</html>
Bas Cost Budde op 08/01/2011 21:27:25:
Tuurlijk wel; {veldnaam = 'dinges'} is een boolean, daar kun je op sorteren.
ORDER BY true
of
ORDER BY false
En wat mag dat dan worden? En op welke kolom?
Edit: Een boolean maak je met dubbel == (veldnaam == 'dinges')
Gewijzigd op 08/01/2011 21:43:32 door - SanThe -
in line 48 heb ik de order functie maar het lukt me niet om deze te hangen aan de knop "std_num_sorteerop "
Met regel 48 wordt verder helemaal niks gedaan.
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