Hallo allemaal!
Ik ben voor mezelf bezig een winkeltje op te zetten met een database erachter. Ik wil de producten typen uit een tabel laten komen zodat ik niet steeds dit hoef te wijzigin in de code zelf. Het toevoegen gaat perfect alleen als ik wil bewerken gaat het fout.

De code:
<?
$type=$row["product_type"];
$query2 = "SELECT type_naam FROM type;";
$result2 = mysql_query($query2);
while($data = mysql_fetch_assoc($result2))
{
foreach($data as $value)
{
if($value==$type)
{
echo "<option selected=\"selected\" >$value</option>\n";
}
else
{
$option .="<option value=\"$value\">$value</option>\n";
}
print "$option\n";
}
}
?>

Ik probeer dus aan de hand van de variabele product_type deze te matchen aan type_naam uit een ander tabel. Dit werkt ook nog wel maar ik krijg een lijst met alle type dubbel genoemd. Heeft iemand enig idee waar ik de mist inga? Alvast bedankt.
Je kunt hier beter de while loop gebruiken.

<?php

$result2 = mysql_query("SELECT type_naam FROM type");

echo '<select name="selectie">';

while($row2 = mysql_fetch_assoc($result2))
{
if($value==$type)
{
echo '<option value="'.$row2['type_naam'].'" selected="selected">'.$row2['type_naam'].'</option>';
}
else
{
echo '<option value="'.$row2['type_naam'].'">'.$row2['type_naam'].'</option>';
}
}
echo '</select>';

?>

overigens zou ik voor ve value het id nummer pakken. ipv de naam dus even id mee geven.
Bedankt voor de reactie, hij toont nu wel de lijst waarden maar doet geen select en begint bovenaan. Enig idee waar dat aan kan liggen?
Alvast bedankt voor de moeite!
Foutafhandeling...
<?php
$sql = "SELECT type_naam FROM type";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if ($res && $rows)
{
echo '<select name="selectie">';
while ($row = mysql_fetch_assoc($res))
{
if ($value == $type)
{
echo '<option value="' . $row['type_naam'] . '" selected="selected">' . $row['type_naam'] . '</option>';
}
else
{
echo '<option value="' . $row['type_naam'] . '">' . $row['type_naam'] . '</option>';
}
}
echo '</select>';
}
else
{
echo 'Oops, tijdens het uitvoeren van de query ging iets mis.';
}
?>
Verder denk ik dat je dit bedoelt (let op regel 10):
<?php
$sql = "SELECT type_naam FROM type";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if ($res && $rows)
{
echo '<select name="selectie">';
while ($row = mysql_fetch_assoc($res))
{
if ($value == $row['type_naam'])
{
echo '<option value="' . $row['type_naam'] . '" selected="selected">' . $row['type_naam'] . '</option>';
}
else
{
echo '<option value="' . $row['type_naam'] . '">' . $row['type_naam'] . '</option>';
}
}
echo '</select>';
}
else
{
echo 'Oops, tijdens het uitvoeren van de query ging iets mis.';
}
?>
Het werkt!
Super, heren bedankt voor alles!!!

Reageren