Select option update
Ik ben bezig met een database waarin je product prijzen kan ingeven. Deze bestaat uit een paar velden. In deze velden kies ik de productnaam en doormiddel van een knop "update" worden dan de velden die bij dit product horen geupdate. Alleen als ik op update heb gedrukt.. wordt mijn pagina herladen en staat de productnaam weer op de eerste die in de select voorkomt. Check bijvoorbeeld als je tomaat kiest op www.2fresh.nl en dan op update drukt.. dan schier die weer terug naar aardbei. Hoe kan ik dit tegen gaan?
Mijn code:
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
include("db.php");
?>
<html>
<head>
<title>Stad/regio</title>
</head>
<body>
<?php
if(isset($_POST['add']))
{
$query3 = "INSERT INTO `prijzen` ( `id` , `stad` , `datum` , `productsoort` , `producttype` , `kiloprijs` , `herkomst` )
VALUES (NULL ,'$_POST[stad]', '$_POST[datum]', '$_POST[productnaam]', '$_POST[producttype]', '$_POST[prijs]', '$_POST[herkomst]')";
mysql_query($query3) or die('Error, insert query failed');
}
else
{
?>
<form method="post">
<table>
<tr>
<td>Stad/regio</td>
<td><input type="text" name="stad" value="stad" size="40"></td>
</tr>
<tr>
<td>Datum</td>
<td><input type="text" name="datum" value="datum" size="40"></td>
</tr>
<tr>
<td>Soort</td>
<td><select name="productnaam">
<?php
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
<?php }
?>
</select></td><td><input name="update" type="submit" id="update" value="Update"></td>
</tr>
<tr>
<td>Type</td>
<td><select name="producttype">
<?php
if(isset($_POST['update']))
{
$var = $_POST['productnaam'];
$query1 = "SELECT * FROM producten WHERE productnaam = '$var';";
$result1 = mysql_query($query1);
while ($row1 = mysql_fetch_array($result1)) {
?>
<option value="<?php echo $row1['producttype'];?>"><?php echo $row1['producttype'];?></option>
<?php }} ?>
</select></td>
</tr>
<tr>
<td>Prijs per kilo </td>
<td><input type="text" name="prijs" value="post" size="40"></td>
</tr>
<tr>
<td>Herkomst</td>
<td><input type="text" name="herkomst" value="post" size="40"></td>
</tr>
<tr>
<td width="100"> </td>
<td><input name="add" type="submit" id="add" value="Add New User"></td>
</tr>
</table>
</form>
<?php
echo "$query3";
echo "$query1";
}
?>
</body>
</html>
include("db.php");
?>
<html>
<head>
<title>Stad/regio</title>
</head>
<body>
<?php
if(isset($_POST['add']))
{
$query3 = "INSERT INTO `prijzen` ( `id` , `stad` , `datum` , `productsoort` , `producttype` , `kiloprijs` , `herkomst` )
VALUES (NULL ,'$_POST[stad]', '$_POST[datum]', '$_POST[productnaam]', '$_POST[producttype]', '$_POST[prijs]', '$_POST[herkomst]')";
mysql_query($query3) or die('Error, insert query failed');
}
else
{
?>
<form method="post">
<table>
<tr>
<td>Stad/regio</td>
<td><input type="text" name="stad" value="stad" size="40"></td>
</tr>
<tr>
<td>Datum</td>
<td><input type="text" name="datum" value="datum" size="40"></td>
</tr>
<tr>
<td>Soort</td>
<td><select name="productnaam">
<?php
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
<?php }
?>
</select></td><td><input name="update" type="submit" id="update" value="Update"></td>
</tr>
<tr>
<td>Type</td>
<td><select name="producttype">
<?php
if(isset($_POST['update']))
{
$var = $_POST['productnaam'];
$query1 = "SELECT * FROM producten WHERE productnaam = '$var';";
$result1 = mysql_query($query1);
while ($row1 = mysql_fetch_array($result1)) {
?>
<option value="<?php echo $row1['producttype'];?>"><?php echo $row1['producttype'];?></option>
<?php }} ?>
</select></td>
</tr>
<tr>
<td>Prijs per kilo </td>
<td><input type="text" name="prijs" value="post" size="40"></td>
</tr>
<tr>
<td>Herkomst</td>
<td><input type="text" name="herkomst" value="post" size="40"></td>
</tr>
<tr>
<td width="100"> </td>
<td><input name="add" type="submit" id="add" value="Add New User"></td>
</tr>
</table>
</form>
<?php
echo "$query3";
echo "$query1";
}
?>
</body>
</html>
Oftewel het gekozen productnaam moet na update "selected" zijn..
Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Chris
<option selected="" value=""></option>
Dat is de niet nette oplossing (omdat je productnaam (hopelijk) variabel is)
Deze constructie kun je echter beter maken met een hiddenfield met het productid omdat je productnaam variable is en je id niet
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
Als ik nu bijvoorbeeld tomaat kies en ik doe update dan komt er witlof te staan??
Dan heb jij ergens een foutje zitten denk ik ;) Want de laatste keer dat ik keek was dat niet het zelfde :P
Jacco schreef op 08.02.2008 10:45:
Dan heb jij ergens een foutje zitten denk ik ;) Want de laatste keer dat ik keek was dat niet het zelfde :P
Wat was niet hetzelfde? de productnaam?
Kijk eens in de bron van je pagina, zoek je select op en post die even.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option selected="<?php ($row["productnaam"]==$_POST["productnaam"])? "SELECTED" : "" ?>" value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option selected="<?php ($row["productnaam"]==$_POST["productnaam"])? "SELECTED" : "" ?>" value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
Zo heb ik hem nu ingevoerd
Quote:
Kijk eens in de bron van je pagina, zoek je select op en post die even.
Om mezelf maar even te quoten
haha sorry!! ik dacht mn select uit mn database
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<select name="productnaam">
<?php
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option selected="<?php ($row["productnaam"]==$_POST["productnaam"])? "SELECTED" : "" ?>" value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
<?php }
?>
</select>
<?php
$query = 'SELECT DISTINCT productnaam FROM producten;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {?>
<option selected="<?php ($row["productnaam"]==$_POST["productnaam"])? "SELECTED" : "" ?>" value="<?php echo $row['productnaam'];?>"><?php echo $row['productnaam'];?></option>
<?php }
?>
</select>
Jacco schreef op 08.02.2008 10:54:
Om mezelf maar even te quoten
Quote:
Kijk eens in de bron van je pagina, zoek je select op en post die even.
Om mezelf maar even te quoten
Praat ik chinees :)? Heb het over de bron in je browser. Kijk daar even of de values wel kloppen bij de items
owwwwwwwww
<option selected="" value="Aardbei">Aardbei</option>
<option selected="" value="Appel">Appel</option>
<option selected="" value="Komkommer">Komkommer</option>
<option selected="" value="Paprika">Paprika</option>
<option selected="" value="Peer">Peer</option>
<option selected="" value="Prei">Prei</option>
<option selected="" value="Tomaat">Tomaat</option>
<option selected="" value="Witlof">Witlof</option>
</select>
Edit:
Je echoot nu sowieso altijd "SELECTED", da's natuurlijk niet goed.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
o das beejte Blont van mij denk ik dan :S My bad :P
Oke.... Maar hoe zet ik dit dan wel goed?? Sorry @ jan ;)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$query = "
SELECT DISTINCT productnaam
FROM producten
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
echo '<select name="productnaam">';
while ($row = mysql_fetch_assoc ($res)) {
// check ook of $_POST['productnaam'] werkelijk bestaat!
$selected = ($row["productnaam"]==$_POST["productnaam"])?(' selected="selected"'):('');
echo PHP_EOL;
echo '<option' . $selected . ' value="' . $row['productnaam'] . '">' . $row['productnaam'] . '</option>';
}
echo '</select>';
}
?>
$query = "
SELECT DISTINCT productnaam
FROM producten
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
echo '<select name="productnaam">';
while ($row = mysql_fetch_assoc ($res)) {
// check ook of $_POST['productnaam'] werkelijk bestaat!
$selected = ($row["productnaam"]==$_POST["productnaam"])?(' selected="selected"'):('');
echo PHP_EOL;
echo '<option' . $selected . ' value="' . $row['productnaam'] . '">' . $row['productnaam'] . '</option>';
}
echo '</select>';
}
?>
Zat ik er toch niet ver naast :P
www.2fresh.nl
Euh... ik krijg nu geen resultaten meer in mn select... check Gewijzigd op 01/01/1970 01:00:00 door chris
post even de relevante code zoals je die nu hebt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<select name="productnaam">
<?php
$query = "
SELECT DISTINCT productnaam
FROM producten
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
echo '<select name="productnaam">';
while ($row = mysql_fetch_assoc ($res)) {
// check ook of $_POST['productnaam'] werkelijk bestaat!
$selected = ($row["productnaam"]==$_POST["productnaam"])?(' selected="selected"'):('');
echo PHP_EOL;
echo '<option' . $selected . ' value="' . $row['productnaam'] . '">' . $row['productnaam'] . '</option>';
}
echo '</select>';
}
?>
<?php
$query = "
SELECT DISTINCT productnaam
FROM producten
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
echo '<select name="productnaam">';
while ($row = mysql_fetch_assoc ($res)) {
// check ook of $_POST['productnaam'] werkelijk bestaat!
$selected = ($row["productnaam"]==$_POST["productnaam"])?(' selected="selected"'):('');
echo PHP_EOL;
echo '<option' . $selected . ' value="' . $row['productnaam'] . '">' . $row['productnaam'] . '</option>';
}
echo '</select>';
}
?>