Drop down select
Hallo,
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
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
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?
@Dave: daar heeft de TS niet veel aan, hij wil weten hoe dit te combineren met een drop down list.
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:
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?
Ik heb het er nu zo ingezet maar hij doet nog steeds niet wat ik wil.
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>';
?>
1. Je voert je query niet uit en hebt nergens controle of dat wel gelukt is.
2. Dan zal blijken dat je query nog niet klopt, je moet die ... natuurlijk wel vervangen.
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
Je mist dus nog een mysql_query() om je query daadwerkelijk uit te voeren en daarbij de benodigde foutafhandeling.
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...
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...
heb het er boven gezet maar hij geeft geen fout meldingen?
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:
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>';
?>
Echo eens wat variabelen. Kijk bijvoorbeeld of $sDropdownValue de waarde heeft die jij verwacht. Kijk of je query eruit ziet zoals je verwacht, etc...
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?
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
Dit heb ik al gedaan maar krijg er niks uit.
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">
</div></div></div>
</body>
</html>
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 -
dit
zal eerder
moeten zijn?
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);
?>




