form field data houden bij refreshen of submitten
ik ben bezig met een cocktaildatabase. daarin heb je de mogelijkheid recepten toe te voegen. Je kan alleen kiezen uit ingredienten, glazen, garneringen, die al zijn toegevoegd. daarom kan je die op dezelfde pagina toevoegen, maar ik wil graag de al eerder ingevulde gegevens van de velden bewaren. dit is een stukje code. ik weet dat het via value='' kan maar het lukt me niet echt...
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
for ($i = 1; $i <= 9; $i++)
{
echo "<tr><td><input type='text' name='measurement".$i."' /></td><td><input type='text' name='UOM".$i."'/></td><td><select name='ingredient".$i."'><option value=''></option>";
$ingredients = mysql_query("SELECT ingredientnaam, ingredientid FROM ingredients ORDER BY ingredientnaam ASC");
while($row1 = mysql_fetch_array($ingredients))
{
echo "<option value='".$row1['ingredientid']."' >".$row1['ingredientnaam']."</option>";
}
echo "</select></td></tr>";
}
?>
for ($i = 1; $i <= 9; $i++)
{
echo "<tr><td><input type='text' name='measurement".$i."' /></td><td><input type='text' name='UOM".$i."'/></td><td><select name='ingredient".$i."'><option value=''></option>";
$ingredients = mysql_query("SELECT ingredientnaam, ingredientid FROM ingredients ORDER BY ingredientnaam ASC");
while($row1 = mysql_fetch_array($ingredients))
{
echo "<option value='".$row1['ingredientid']."' >".$row1['ingredientnaam']."</option>";
}
echo "</select></td></tr>";
}
?>
het probleem zit hem denk ik vooral in het feit dat de naam van de post variabele eigenlijk variabel is namelijk measurement $i etc.
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
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
<?php
$result = mysql_query("SELECT ingredientnaam, ingredientid FROM ingredients ORDER BY ingredientnaam ASC");
if($result === false)
{
echo 'Error';
}
else
{
$array = array();
while($row = mysql_fetch_array($ingredients))
{
$array[$row['ingredientid']] = $row['ingredientnaam'];
}
for($i=1; $i<=9; $i++)
{
$value = (isset($_POST['measurement' .$i])) ? htmlentities($_POST['measurement' .$i]) : '';
echo '<tr><td><input type="text" name="measurement' .$i. '" value="' .$value. '"/></td>';
$value = (isset($_POST['UOM' .$i])) ? htmlentities($_POST['UOM' .$i]) : '';
echo '<td><input type="text" name="UOM' .$i. '" value="' .$value. '"/></td>';
echo '<td><select name="ingredient' .$i. '"><option value=""></option>';
$selection = (isset($_POST['ingredient' .$i])) ? $_POST['ingredient' .$i] : '';
foreach($array as $key => $value)
{
$selected = ($selection == $key) ? 'selected' : '';
echo '<option value="' .$key. '" ' .$selected. '>' .$value. '</option>';
}
echo '</select></td></tr>';
}
}
?>
$result = mysql_query("SELECT ingredientnaam, ingredientid FROM ingredients ORDER BY ingredientnaam ASC");
if($result === false)
{
echo 'Error';
}
else
{
$array = array();
while($row = mysql_fetch_array($ingredients))
{
$array[$row['ingredientid']] = $row['ingredientnaam'];
}
for($i=1; $i<=9; $i++)
{
$value = (isset($_POST['measurement' .$i])) ? htmlentities($_POST['measurement' .$i]) : '';
echo '<tr><td><input type="text" name="measurement' .$i. '" value="' .$value. '"/></td>';
$value = (isset($_POST['UOM' .$i])) ? htmlentities($_POST['UOM' .$i]) : '';
echo '<td><input type="text" name="UOM' .$i. '" value="' .$value. '"/></td>';
echo '<td><select name="ingredient' .$i. '"><option value=""></option>';
$selection = (isset($_POST['ingredient' .$i])) ? $_POST['ingredient' .$i] : '';
foreach($array as $key => $value)
{
$selected = ($selection == $key) ? 'selected' : '';
echo '<option value="' .$key. '" ' .$selected. '>' .$value. '</option>';
}
echo '</select></td></tr>';
}
}
?>
Gewijzigd op 23/04/2012 20:29:33 door Marijn Struijlaart