Ik heb een vrij grote productenlijst die onderverdeeld is in verschillende categorieën. In de dropdownbox moet deze dan ook onderverdeeld worden bij de de categorie. Nu lukt dit allemaal. Alleen wanneer ik de ingevoerde waarde wil onthouden (bij het bewerken nadat het is ingevoerd in de database) dan komt het niet helemaal goed. Hij laat wel de categorieën zien maar de producten die onder die categorieën moeten staan zijn niet te zien. Wat ik zie zijn lege rijen. In principe zie ik dus de categorie staan en daaronder een heel wit gedeelte. Daarna weer een categorie en weer een wit gedeelte. De lengte van het witte gedeelte klopt wel. Dus op de één of andere manier zullen die producten er wel staan. Wat doe ik verkeerd?
De $tabelrij is een query die bovenin het script staat en hieronder niet is meegegeven. Wanneer ik de optgroup eruit haal dan zie ik wel alle producten. Maar dat is het zoeken naar een ander product een stuk lastiger.
De $tabelrij is een query die bovenin het script staat en hieronder niet is meegegeven. Wanneer ik de optgroup eruit haal dan zie ik wel alle producten. Maar dat is het zoeken naar een ander product een stuk lastiger.
PHP:
<?php
$sql = "SELECT * FROM
producten
INNER JOIN
categorieen
ON
producten.categorie_id = categorieen.id
GROUP BY productcode
";
$result = mysql_query($sql);
$group = array();
while ($row = mysql_fetch_assoc($result))
{
$group[$row['productgroep']][] = $row;
}
foreach ($group as $key => $values)
{
echo '<optgroup label="'.$key.'">';
foreach ($values as $value)
{
if(isset($tabelrij['product_id']) && $tabelrij['product_id'] == $row['productcode']) {
echo '<option value = '. $row['productcode'] .' selected="selected" >'. $row['productnaam'] .'</option>';
} else {
echo '<option value = '.$row['productcode'].'>'. $row['productnaam'] .'</option>';
}
}
echo '</optgroup>';
}
?>