Drop down select
Hoe kan ik via een drop down list gegevens uit de database halen die dan vervolgens er onder worden weergegeven?
Heb al op het forum gezocht maar kon niet echt een duidelijk antwoord vinden.
Paul
Je weet hoe je doormiddel van een SELECT de gegevens normaal weergeeft zonder de dropdown?
Ja dat lukt me
"SELECT whatever FROM items WHERE type = 1"
Wat jij dus bijvoorbeeld wilt is het type bepalen doormiddel van de dropdown of in wat voor richting moeten wij denken? het is toch niet zo moeilijk om van de 1 $_POST['naamdropdown'] te maken of niet?
Waar het op neer komt is dat je het formuliertje waar de drop down box onderdeel van is, moet verzenden. De gekozen waarde kun je vervolgens uit de $_POST array uitlezen en bijvoorbeeld in de WHERE clausule in een SELECT query gebruiken:
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['naam_van_dropdown'])) {
$sDropdownValue = mysql_real_escape_string($_POST['naam_van_dropdown'];
$sql = "
SELECT ...
FROM tabelnaam
WHERE veldnaam = '".$sDropdownValue."'
";
// Query uitvoeren etc.
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['naam_van_dropdown'])) {
$sDropdownValue = mysql_real_escape_string($_POST['naam_van_dropdown'];
$sql = "
SELECT ...
FROM tabelnaam
WHERE veldnaam = '".$sDropdownValue."'
";
// Query uitvoeren etc.
}
?>
Mark Coenen op 05/11/2010 12:29:23:
Even een voorbeeld, Ik weet niet wat je precies wilt.
"SELECT whatever FROM items WHERE type = 1"
Wat jij dus bijvoorbeeld wilt is het type bepalen doormiddel van de dropdown of in wat voor richting moeten wij denken? het is toch niet zo moeilijk om van de 1 $_POST['naamdropdown'] te maken of niet?
"SELECT whatever FROM items WHERE type = 1"
Wat jij dus bijvoorbeeld wilt is het type bepalen doormiddel van de dropdown of in wat voor richting moeten wij denken? het is toch niet zo moeilijk om van de 1 $_POST['naamdropdown'] te maken of niet?
Ik stuur naar me database via een formulier gegevens. In dat formulier heb ik een dropdown zitten die stuurt naar me db 1 2 3 of 4. Nu maak ik op een andere pagina een dropdown met daar in 4 opties die moeten linken naar 1 2 3 4 uit de database. Vervolgens moet die de data die bij 1 van de cijfers hoort uitlezen en alles wat daar nog meer staat terug sturen en tonen.
Zie het voorbeeldje dat ik gaf, daar moet je dat toch mee kunnen realiseren?
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$sql = "
SELECT ...
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select>';
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$sql = "
SELECT ...
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select>';
?>
2. Dan zal blijken dat je query nog niet klopt, je moet die ... natuurlijk wel vervangen.
hmm lastig ik zal wel even kijken of dat me gaat lukken
Zet dit ook eens boven aan je script:
Dan worden tenminste alle fouten weergegeven. Ik zou immers een fout bij mysql_fetch_array() verwachten omdat $query geen geldig resultaat van een mysql query is...
Maar het lijkt ook wel of die niks doet want als ik er 1 uit de drop down selecteert doet die niks naar mijn idee.
Ik heb me script nu zo:
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'post') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<form action="../sdu/voorbeelden.php" method="post">
<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select></form>';
?>
if($_SERVER['REQUEST_METHOD'] == 'post') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<form action="../sdu/voorbeelden.php" method="post">
<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select></form>';
?>
Ik zie verder nergens een submit knop in je formulier, dus ik vermoed dat je je formulier helemaal niet verzendt. Dan zal er natuurlijk weinig gebeuren. Verder zie ik ook nog nergens mysql_query() in je code staan?
omdat je geen verbinding maakt met je database.. denk ik
Zal wel me hele script neerzetten anders is het voor jullie ook heel onduidelijk.
Volledige script:
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/css.css" />
</head>
<body>
<div id="content">
<div id="header"></div>
<div id="wrapper">
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
include("config.php");
ini_set('display_errors', 'on');
error_reporting(E_ALL);
if(isset($_GET['hoeveel'])&&is_numeric($_GET['hoeveel'])) $hoeveel = $_GET['hoeveel'];
else $hoeveel = 6;
$query = mysql_query("select count(*) as num from voorbeelden");
$counter = mysql_result($query, 0, "num");
$pages = $counter / $hoeveel;
$pages = ceil($pages);
if(isset($_GET['pag'])&&$_GET['pag'] <= $pages&&$_GET['pag']>0&&is_numeric($_GET['pag'])) $pag = $_GET['pag'];
else $pag = 1;
$first_result = $pag * $hoeveel - $hoeveel;
$query = mysql_query("select * from voorbeelden order by id desc limit ".$first_result.", ".$hoeveel);
function render_arrow($kind,$pag,$pages,$hoeveel)
{
$pag_back = $pag-1;
$pag_next = $pag+1;
if($kind == "back")
{
echo '';
if($pag > 1) echo '';
echo '';
}
if($kind == "forward")
{
echo '';
if($pag < $pages) echo '';
echo '';
}
}
if($_SERVER['REQUEST_METHOD'] == 'post') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<form action="../sdu/voorbeelden.php" method="post">
<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select>
<input type="submit" name="submit" value="test"></form>';
echo '<div id="paginas">';
function render_pagenumbers($pag,$pages,$hoeveel)
{
$i = 1;
while($i<=$pages)
{
echo '<a ';
if($i!=$pag) echo 'href="voorbeelden.php?pagina=voorbeeld&pag='.$i.'&hoeveel='.$hoeveel.'"';
echo '>'.$i.'</a> ';
$i++;
}
}
$pagnavmin = $pag-1;
$pagnavplus = $pag+1;
render_arrow(back,$pag,$pages,$hoeveel);
render_arrow(forward,$pag,$pages,$hoeveel);
if ($pag > 1) {
echo '<a href="voorbeelden.php?pagina=voorbeeld&pag='.$pagnavmin.'&hoeveel='.$hoeveel.'">Vorige - </a>';
}
render_pagenumbers($pag,$pages,$hoeveel);
if ($pag < $pages){
echo '<a href="voorbeelden.php?pagina=voorbeeld&pag='.$pagnavplus.'&hoeveel='.$hoeveel.'">- Volgende</a>';
}
?>
include("config.php");
ini_set('display_errors', 'on');
error_reporting(E_ALL);
if(isset($_GET['hoeveel'])&&is_numeric($_GET['hoeveel'])) $hoeveel = $_GET['hoeveel'];
else $hoeveel = 6;
$query = mysql_query("select count(*) as num from voorbeelden");
$counter = mysql_result($query, 0, "num");
$pages = $counter / $hoeveel;
$pages = ceil($pages);
if(isset($_GET['pag'])&&$_GET['pag'] <= $pages&&$_GET['pag']>0&&is_numeric($_GET['pag'])) $pag = $_GET['pag'];
else $pag = 1;
$first_result = $pag * $hoeveel - $hoeveel;
$query = mysql_query("select * from voorbeelden order by id desc limit ".$first_result.", ".$hoeveel);
function render_arrow($kind,$pag,$pages,$hoeveel)
{
$pag_back = $pag-1;
$pag_next = $pag+1;
if($kind == "back")
{
echo '';
if($pag > 1) echo '';
echo '';
}
if($kind == "forward")
{
echo '';
if($pag < $pages) echo '';
echo '';
}
}
if($_SERVER['REQUEST_METHOD'] == 'post') {
if(isset($_POST['dropdownn'])) {
$sDropdownValue = mysql_real_escape_string($_POST['dropdownn']);
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
$teller = 0;
while($r=mysql_fetch_array($query))
{
$id=$r["id"];
$titelb=$r["titelb"];
$beschrijving=$r["beschrijving"];
$link=$r["link"];
$imagelink=$r["imagelink"];
if($teller == 0){
echo '
<div id="voorbeeld">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 1;
}else{
echo '
<div id="voorbeeld2">
<div id="titel">'.$titelb.'</div>
<div id="beschrijving">'.$beschrijving.'</div>
<div id="links"><a target="_blank" href="'.$link.'">Bezoek uiting</a></div>
<div id="imageaf"><img src="'.$imagelink.'"></div>
</div>
';
$teller = 0;}
}
}}
echo '<form action="../sdu/voorbeelden.php" method="post">
<select name="dropdownn">
<option value="1">Site1</option>
<option value="2">Site2</option>
<option value="3">Site3</option>
<option value="4">Site4</option>
</select>
<input type="submit" name="submit" value="test"></form>';
echo '<div id="paginas">';
function render_pagenumbers($pag,$pages,$hoeveel)
{
$i = 1;
while($i<=$pages)
{
echo '<a ';
if($i!=$pag) echo 'href="voorbeelden.php?pagina=voorbeeld&pag='.$i.'&hoeveel='.$hoeveel.'"';
echo '>'.$i.'</a> ';
$i++;
}
}
$pagnavmin = $pag-1;
$pagnavplus = $pag+1;
render_arrow(back,$pag,$pages,$hoeveel);
render_arrow(forward,$pag,$pages,$hoeveel);
if ($pag > 1) {
echo '<a href="voorbeelden.php?pagina=voorbeeld&pag='.$pagnavmin.'&hoeveel='.$hoeveel.'">Vorige - </a>';
}
render_pagenumbers($pag,$pages,$hoeveel);
if ($pag < $pages){
echo '<a href="voorbeelden.php?pagina=voorbeeld&pag='.$pagnavplus.'&hoeveel='.$hoeveel.'">- Volgende</a>';
}
?>
</body>
</html>
Gewijzigd op 05/11/2010 14:31:25 door Kees -
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
?>
$query = "
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
";
?>
zal eerder
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = mysql_query("
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
");
?>
$query = mysql_query("
SELECT *
FROM voorbeelden
WHERE site1 = '".$sDropdownValue."'
");
?>
moeten zijn?
Heb het veranderd maar gebeurd niet veel meer?
Post ook eens je database configuratie, waarschijnlijk config.php die je include.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$db_user = "root";
$db_pass = "vertrigo";
$db_host = "localhost";
$db_db = "testdb";
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);
?>
$db_user = "root";
$db_pass = "vertrigo";
$db_host = "localhost";
$db_db = "testdb";
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);
?>