Zoeken met dropdown werkt niet
Live voorbeeld staat op http://bert.sna-webo.be/scripts/a_lezen.php
Er staan voorlopig 2 auto's in de database, een audi en een bmw
Bij de dropdown selecteer hij automatisch Audi.
Maar als ik dan op verzenden klik zegt hij dat hij geen records heeft gevonden.
Wie kan me verder helpen?
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<?php
/****************************************************
*Initialisatie
****************************************************/
$_srv = $_SERVER['PHP_SELF'];
try{
function __autoload($className) {
require_once "../klassen/$className.class.php";}
include("../connections/pdo.inc.php");
include("../php_lib/createSelect.inc.php");
include("../php_lib/menu.inc.php");
include("../php_lib/drop_down.inc.php");
/*******************************************
*
* formulier behandeling
*
********************************************/
if (! isset($_POST["submit"])) // geen formulier
{
// toon formulier
$_output= "<h1>Bekijken Auto('s)</h1><h2>Selecteer</h2>
<form method='post' action='$_srv'>
<p>
<label for='Leverancier'>Leverancier</label>
<input type='text' name='leverancier'>
<label for='Code'>Code</label>
<input type='text' name='code'>
<label for='merk'>Merk</label>";
$_output.= drop_down('merk', 't_merken', 'd_Merk', 'd_Merknaam', 0, $_row['MerkID']);
$_output.="
<br>
</p>
<p>
<label for='Type'>Type</label>
<input type='text' name='type'>
<label for='Uitvoering'>Uitvoering</label>
<input type='text' name='uitvoering'>
</p>
<p>
<label for='Categorie'>Categorie</label>
<input type='text' name='categorie'>
</p>
<p>
<label for='Omschrijving'>Omschrijving</label>
<input type='text' name='omschrijving'></textarea>
</p>
<p>
<label for='Voorraad'>Voorraad</label>
<input type='text' name='voorraad'>
</p>
<p>
<label for='Prijs_ex'>Prijs exclusief</label>
<input type='text' name='prijsinclusief'>
<label for='BTW'>BTW</label>
<input type='text' name='btw'>
<label for='Prijs_ex'>Prijs inclusief</label>
<input type='text' name='prijsinclusief'>
</p>
<p>
<label for='Bouwjaar'>Bouwjaar</label>
<input type='text' name='bouwjaar'>
</p>
<input name='submit' type='submit' value='verzenden'>
</form>";
}
else
{
// verwerk inhoud van het formulier
$_code =$_POST["code"];
$_merk = $_POST["merk"];
$_type = $_POST["type"];
$_uitvoering = $_POST["uitvoering"];
$_categorie = $_POST["categorie"];
$_omschrijving = $_POST["omschrijving"];
$_voorraad = $_POST["voorraad"];
$_prijsexcl = $_POST["prijsexclusief"];
$_btw = $_POST["btw"];
$_prijsincl = $_POST["prijsinclusief"];
$_leverancier = $_POST["leverancier"];
$_bouwjaar = $_POST["bouwjaar"];
$_output ="";
$_query = createSelect("v_autos",
array($_code, $_merk, $_type, $_uitvoering,
$_categorie, $_omschrijving, $_voorraad, $_prijsexcl, $_btw, $_prijsincl,$_leverancier, $_bouwjaar),
array('levcodeauto', 'merk', 'type','uitvoering','categorie','omschrijving', 'voorraad', 'prijsexclusief','btw', 'prijsinclusief','leverancier', 'bouwjaar','foto'));
// query
$_result = $_PDO -> query("$_query");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "Code bij Leverancier: ".$_row['levcodeauto']."<br> Merk: ".$_row['merk']."<br><br>";
$_output.= "Type: ".$_row['type']." <br>Uitvoering: ".$_row['uitvoering']." <br>Categorie: ".$_row['categorie']."<br><br>";
$_output.= "Omschrijving : <br>".$_row['omschrijving']."<br><br>";
$_output.= "Voorraad: ".$_row['voorraad']." <br><br>Prijs zonder BTW: €".$_row['prijsexclusief']."<br>";
$_output.= "BTW : ".$_row['btw']."<br>Prijs met BTW: €".$_row['prijsinclusief']."<br><br>";
$_output.= "Leverancier : ".$_row['leverancier']."<br><br>";
$_output.= "Bouwjaar : ".$_row['bouwjaar']."<br><br>";
$_output.= "Foto: <br><img src='".$_row['foto']."'><HR>";
}
}
else
{
$_output = "<br><br><br><br><br><br><h2>Geen records gevonden voor deze input</h2>";
}
$_output .="<br><a href='$_srv'>volgende</a>";
}
/*********************************************
*
* output
*
**********************************************/
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('A'));
$_smarty->assign('menuv',menu(1));
$_smarty->assign('inhoud', $_output);
// display it
$_smarty->display('autolev.tpl');
}
catch (myExeption $e)
{
$e->log("../logs/error_log.csv");
echo $e->userMessage();
}
?>
/****************************************************
*Initialisatie
****************************************************/
$_srv = $_SERVER['PHP_SELF'];
try{
function __autoload($className) {
require_once "../klassen/$className.class.php";}
include("../connections/pdo.inc.php");
include("../php_lib/createSelect.inc.php");
include("../php_lib/menu.inc.php");
include("../php_lib/drop_down.inc.php");
/*******************************************
*
* formulier behandeling
*
********************************************/
if (! isset($_POST["submit"])) // geen formulier
{
// toon formulier
$_output= "<h1>Bekijken Auto('s)</h1><h2>Selecteer</h2>
<form method='post' action='$_srv'>
<p>
<label for='Leverancier'>Leverancier</label>
<input type='text' name='leverancier'>
<label for='Code'>Code</label>
<input type='text' name='code'>
<label for='merk'>Merk</label>";
$_output.= drop_down('merk', 't_merken', 'd_Merk', 'd_Merknaam', 0, $_row['MerkID']);
$_output.="
<br>
</p>
<p>
<label for='Type'>Type</label>
<input type='text' name='type'>
<label for='Uitvoering'>Uitvoering</label>
<input type='text' name='uitvoering'>
</p>
<p>
<label for='Categorie'>Categorie</label>
<input type='text' name='categorie'>
</p>
<p>
<label for='Omschrijving'>Omschrijving</label>
<input type='text' name='omschrijving'></textarea>
</p>
<p>
<label for='Voorraad'>Voorraad</label>
<input type='text' name='voorraad'>
</p>
<p>
<label for='Prijs_ex'>Prijs exclusief</label>
<input type='text' name='prijsinclusief'>
<label for='BTW'>BTW</label>
<input type='text' name='btw'>
<label for='Prijs_ex'>Prijs inclusief</label>
<input type='text' name='prijsinclusief'>
</p>
<p>
<label for='Bouwjaar'>Bouwjaar</label>
<input type='text' name='bouwjaar'>
</p>
<input name='submit' type='submit' value='verzenden'>
</form>";
}
else
{
// verwerk inhoud van het formulier
$_code =$_POST["code"];
$_merk = $_POST["merk"];
$_type = $_POST["type"];
$_uitvoering = $_POST["uitvoering"];
$_categorie = $_POST["categorie"];
$_omschrijving = $_POST["omschrijving"];
$_voorraad = $_POST["voorraad"];
$_prijsexcl = $_POST["prijsexclusief"];
$_btw = $_POST["btw"];
$_prijsincl = $_POST["prijsinclusief"];
$_leverancier = $_POST["leverancier"];
$_bouwjaar = $_POST["bouwjaar"];
$_output ="";
$_query = createSelect("v_autos",
array($_code, $_merk, $_type, $_uitvoering,
$_categorie, $_omschrijving, $_voorraad, $_prijsexcl, $_btw, $_prijsincl,$_leverancier, $_bouwjaar),
array('levcodeauto', 'merk', 'type','uitvoering','categorie','omschrijving', 'voorraad', 'prijsexclusief','btw', 'prijsinclusief','leverancier', 'bouwjaar','foto'));
// query
$_result = $_PDO -> query("$_query");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "Code bij Leverancier: ".$_row['levcodeauto']."<br> Merk: ".$_row['merk']."<br><br>";
$_output.= "Type: ".$_row['type']." <br>Uitvoering: ".$_row['uitvoering']." <br>Categorie: ".$_row['categorie']."<br><br>";
$_output.= "Omschrijving : <br>".$_row['omschrijving']."<br><br>";
$_output.= "Voorraad: ".$_row['voorraad']." <br><br>Prijs zonder BTW: €".$_row['prijsexclusief']."<br>";
$_output.= "BTW : ".$_row['btw']."<br>Prijs met BTW: €".$_row['prijsinclusief']."<br><br>";
$_output.= "Leverancier : ".$_row['leverancier']."<br><br>";
$_output.= "Bouwjaar : ".$_row['bouwjaar']."<br><br>";
$_output.= "Foto: <br><img src='".$_row['foto']."'><HR>";
}
}
else
{
$_output = "<br><br><br><br><br><br><h2>Geen records gevonden voor deze input</h2>";
}
$_output .="<br><a href='$_srv'>volgende</a>";
}
/*********************************************
*
* output
*
**********************************************/
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('A'));
$_smarty->assign('menuv',menu(1));
$_smarty->assign('inhoud', $_output);
// display it
$_smarty->display('autolev.tpl');
}
catch (myExeption $e)
{
$e->log("../logs/error_log.csv");
echo $e->userMessage();
}
?>
b. houd er rekening mee dat je een <select> met <option>s maakt en dat deze select afhankelijk van de gekozen waarde een getal van 1 t/m 10 terug zal geven
Hoe zorg ik ervoor dat hij toch Audi weergeeft?
Door <select> zonder <option>'s te genereren. Je gebruikt Smarty 3?
Maar zoals Frank ook zegt: wat is je huidige query?
Daarnaast:
Kan je beter zo doen:
Dus zonder haakjes.
Daarnaast een andere, offtopic, vraag: waarom heb jij na elke $ een _?
Dus $_output en niet gewoon $output?
Ik gebruik smarty
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
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
<?php
function drop_down($_name, $_table, $_number, $_mnemonic, $_start = 0, $_select = 0)
{
global $_PDO;
$_output = "<select name='$_name'>";
$_result = $_PDO -> query("SELECT $_number, $_mnemonic FROM $_table");
if ($_result -> rowCount() == 0)
{
throw new PDOException("$_table --> geen records");
}
while ($_row = $_result -> fetch(PDO::FETCH_ASSOC))
{
if($_row[$_number] >= $_start)
{
$_output.="<option value='".$_row[$_number]."'";
if ($_row[$_number] == $_select)
{
$_output.=" selected ";
}
$_output.=">".$_row[$_mnemonic]."</option>\n";
}
}
$_output.="</select>";
return $_output;
}
?>
function drop_down($_name, $_table, $_number, $_mnemonic, $_start = 0, $_select = 0)
{
global $_PDO;
$_output = "<select name='$_name'>";
$_result = $_PDO -> query("SELECT $_number, $_mnemonic FROM $_table");
if ($_result -> rowCount() == 0)
{
throw new PDOException("$_table --> geen records");
}
while ($_row = $_result -> fetch(PDO::FETCH_ASSOC))
{
if($_row[$_number] >= $_start)
{
$_output.="<option value='".$_row[$_number]."'";
if ($_row[$_number] == $_select)
{
$_output.=" selected ";
}
$_output.=">".$_row[$_mnemonic]."</option>\n";
}
}
$_output.="</select>";
return $_output;
}
?>
geef dezelfde waarde op voor $_number en $_mnemonic. dan doet ie het waarschijnlijk wel.
op http://bert.sna-webo.be/scripts/a_lezen.php zie je dat er automatisch Audi komt te staan in Merk
Hoe kan ik er in de functie of op een andere manier voor zorgen dat het selectievakje standaard leeg is?