Ik ben beginnend PHPer en ik ben voor mijn cursus bezig met een webshop.
Ik wil een wijzigingsformulier maken voor een webshopartikel. Daarbij kan een artikel in één of meerdere categorieën zitten. Mijn artikelID in dit voorbeeld heb ik er even hard in gezet (komt normaal met een GET mee) en zit in de 2e en 5e categorie. Ik wil dat bij het openen van het formulier de juiste checkboxen gevuld zijn(2 en 5 dus). De lijst met alle categorieën verschijnt keurig, maar in plaats van twee, zijn álle checkboxen aangevinkt. De sqlstatements werken in myPhpAdmin. En hij gaat dus wel de tweede while lus in. Waar ga ik de fout in?
Dit is mijn code:
<?php
require_once 'config.php';
require_once 'lib/lib.php';
$db = mysql_connect($strServerName, $strUsername, $strPassword)
or die("Kan niet verbinden: " . mysql_error());
mysql_select_db($strDbName, $db);
// artikelID in variabele plaatsen voor test
$artID = 1;
?>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<h3>Categorie</h3>
<table class="catoverzicht">
<?php
$sql = "SELECT categorieID, naam FROM tblCategorie";
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat))
{
?>
<tr>
<td><?php echo($rij["naam"]); ?></td>
<td><input type="checkbox" name="cat[]" value="<?php echo($rij["categorieID"]); ?>" <?php
$sql = "SELECT categorieID FROM tblCategorieArtikel WHERE artikelID = " . $artID;
$categorie = mysql_query($sql);
while($arrayCategorie = mysql_fetch_array($categorie))
{
if ($arrayCategorie["categorieID"] = $rij["categorieID"])
{
echo("checked=\"checked\"");
}
};
?>></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="Wijzigen" class="button">
</form>
</body>
</html>
1.699 views