het probleem is wanneer je een training onder een categorie toevoegd die subcategorien heeft lukt het wel, maar wanneer je een categorie selecteert die geen subcategorien heeft en het toevoegd, het niet opslaat in de database. Graag jullie hulp.
dit is mijn code
form.php
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$query = "SELECT id FROM training ORDER BY id DESC LIMIT 1";
$resultaat = mysql_query($query);
$rij = mysql_fetch_array($resultaat);
$laatste_id = $rij["id"];
$id_num = $laatste_id + 1;
$nieuw_id = $id_num;
?>
<html>
<head>
<script type = "text/javascript">
//categorie en subcategorie
function showSelect33() {
var d = document.getElementById("mydiv33");
if (document.getElementById("chk33").checked) {
d.style.display ="block";
}
else {
d.style.display = "none";
d.selectedIndex = 0;
}
}
function showSelect34() {
var d = document.getElementById("mydiv34");
if (document.getElementById("chk34").checked) {
d.style.display ="block";
}
else {
d.style.display = "none";
d.selectedIndex = 0;
}
}
function showSelect35() {
var d = document.getElementById("mydiv35");
if (document.getElementById("chk35").checked) {
d.style.display ="block";
}
else {
d.style.display = "none";
d.selectedIndex = 0;
}
}
</script>
</head>
<body>
<div id="training">
<b>Een nieuwe training toevoegen:</b>
<br/><br/>
<form name="formulier" action="invoegen.php" method="post" >
<table width="300" border="0">
<tr>
<td><input type="hidden" name="tid" readonly="readonly" value="<?php echo $nieuw_id; ?>" style="text-align:right" /></td>
</tr>
<tr>
<td>Naam</td>
<td><input type="text" name="naam" style="text-align:right" /></td>
</tr>
<tr>
<td>Beschrijving</td>
<td><input type="text" name="beschrijving" style="text-align:right" /></td>
</tr>
</table>
</div>
<div id="choseLoc">
<table border="0">
<br>Selecteer Categorie:
<div id="">
<input type="checkbox" id = "chk33" name="chk3[]" value="1" onclick = "showSelect33()">A<br>
</div>
<div id = "mydiv33" style="display:none">
</div>
<div id="">
<input type="checkbox" id = "chk34" name="chk3[]" value="2" onclick = "showSelect34()">B<br>
</div>
<div id = "mydiv34" style="display:none">
</div>
<div id="">
<input type="checkbox" id = "chk35" name="chk3[]" value="3" onclick = "showSelect35()">B<br>
</div>
<div id = "mydiv35" style="display:none">
<input type="checkbox" name="chk4[3][]" value="1">B1<br />
<input type="checkbox" name="chk4[3][]" value="2">B2<br />
<input type="checkbox" name="chk4[3][]" value="2">B3<br />
<input type="checkbox" name="chk4[3][]" value="4">B4<br />
</div>
</table>
</div>
<br/>
<div id="buttons">
<input type="reset" value="Leeghalen" /> <input type="submit" value="Opslaan" name="opslaan" />
</form>
</div>
</body>
</html>
invoegen.php
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
/* Nieuwe ID genereren */
$query = "SELECT id FROM training ORDER BY id DESC LIMIT 1";
$resultaat = mysql_query($query);
$rij = mysql_fetch_array($resultaat);
$laatste_id = $rij["id"];
$id_num = $laatste_id + 1;
$nieuw_id = $id_num;
$tel = mysql_num_rows($resultaat);
?>
<?php
if(isset($_POST["opslaan"]))
{
//training gegevens opslaan
$id = $_POST["tid"];
$naam = $_POST["naam"];
$beschrijving = $_POST["beschrijving"];
$query = "INSERT INTO training(id, training_naam, beschrijving) VALUES('$id', '$naam', '$beschrijving')";
$resultaat = mysql_query($query);
$afd_subafd = array();
if (isset($_POST['chk3'])){
foreach ($_POST['chk3'] as $key) {
}
}
if (isset($_POST['chk4'][$key])) {
foreach($_POST['chk4'][$key] as $sub) {
$afd_subafd[] = '(' . (int)$key . ',' . (int) $sub . ',' . (int) $id . ')';
}
}
if (count($afd_subafd) > 0) {
$query = "INSERT INTO training_cat_subcat(cat_id,subcat_id,training_id) VALUES " . implode(',', $afd_subafd);
mysql_query($query);
}
?>
<?php
}
?>
<a href="form.php">Nog een training toevoegen</a>;
<a href="index.php">Terug naar de hoofdmenu</a>;