cela fait maintenant 1 semaine que je galère dessus :
j ai une page pour l enregistrement des programmes
ces programmes correspondent à des sous programmes
dans ma page programme je recupere tous les sous programmes de la base de données
tous ces sous programmes sont accompagnés de checkbox
mon probleme est le suivant :
comment enregistrer dans la base les sous programmes correspondant lorsque la checkbox est coché j ai essayé diverses méthodes mais aucune ne fonctionne
pouvez-vous m aider en m apportant une solution ???
merci d'avance
Celfel
PS : voici le code source de ma page pour que ce soit plus clair :
<?php
$connect = mysql_connect("localhost","root");
mysql_select_db("stage",$connect);
//gestion des actions
if(isset($_POST['bouton']))
{
switch ($_POST['bouton'])
{
case "Ajouter":
$sql="INSERT INTO `programme`";
$sql=$sql." (`desprog`)";
$sql=$sql." VALUES ('".htmlentities($_POST["titre"])."')";
mysql_query($sql) or die ("Erreur dans l'ajout d'un programme : <br>".$sql);
break;
case "Modifier":
$sql="UPDATE `programme` SET";
$sql=$sql." `desprog`='".htmlentities($_POST['titre'])."'";
$sql=$sql." WHERE `numprog`=".$_POST['liste'];
mysql_query($sql) or die ("Erreur dans la modification d'un programme : <br>".$sql);
break;
case "Supprimer":
//----------------------> suppression du programme
$sql="DELETE FROM `programme` WHERE `numprog`=".$_POST["liste"];
mysql_query($sql) or die ("Erreur dans la suppression d'un programme : <br>".$sql);
break;
}
}
?>
<script language="javascript">
function VerifForm(formulaire)
{
titre = formulaire.titre.value;
if ( titre.length == 0 ){ alert("- Le champ titre est vide."); return(false);}else{ formulaire.submit(); }
}
</script>
<body><form name="typform" method="post" action="admin.php">
<table width="632" height="236" border="0" cellpadding="0" cellspacing="2">
<tr>
<td height="50" colspan="3" class="texte"><input type="hidden" name="objets" value="<? echo $objets; ?>"></td>
</tr>
<tr bgcolor="#666666">
<td width="183" height="24" class="texte"><div align="right">Liste des programmes : </div></td>
<td colspan="2" bgcolor="#666666">
<div align="left">
<select name="liste" onChange="JavaScript:form.submit();">
<option value="new">--- Nouveau programme ---</option>
<? //affichage de la liste des programmes
$cpt=0;
$result = mysql_query("select * from programme");
while ($row = mysql_fetch_array($result))
{
if($_POST["liste"]==$row['numprog']){$s="selected";} //pour selectionner une ligne dans la liste
echo "<option ".$s." value=\"".$row['numprog']."\">".$row['desprog']."</option>";
$s='';
}
mysql_free_result($result);
//libère toute la mémoire et les ressources utilisées par la ressource de résultat result.
?>
</select>
</div></td>
<? //affichage des elements du programme sélectionné
if(isset($_POST["liste"]))
{
if($_POST["liste"]!="new" && !empty($_POST["liste"]))//control d'erreur
{
$result=mysql_query("select * from programme where numprog=".$_POST["liste"]);
$prog = mysql_fetch_array($result);
mysql_free_result($result);
//$resultat=mysql_query("select * from sous_prog, programme_sous where programme_sous.numsous = sous_prog.numsous and programme_sous.numprog=".$_POST["liste"]);
//$sous = mysql_fetch_array($resultat);
//mysql_free_result($resultat);
}
}
?></tr>
<tr>
<td height="19"> </td>
<td colspan="2"> </td>
</tr>
<tr bgcolor="#666666">
<td height="19" class="texte"><div align="right">Titre : </div></td>
<td colspan="2" bgcolor="#666666"><div align="left">
<input name="titre" type="text" id="titre" value="<? if(isset($_POST["liste"])) {if($_POST["liste"]!="new"){ echo $prog["desprog"]; }}?>">
</div></td>
</tr>
<tr bgcolor="#666666">
<td height="22" bgcolor="#666666" class="texte"><div align="right">Sous-Prog : </div>
<td colspan="2" bgcolor="#666666"><div align="left">
<?
$sql = "SELECT * FROM sous_prog ";
$res = mysql_query($sql) or die("Impossible de sélectionner ces sous-programmes");
$num = mysql_num_rows($res) or die("Impossible de calculer le nombre de sous-programmes");
?><font color="#666666"></font>
- Il y a <?echo $num;?> sous-programmes :<br><br>
<?
while($val = mysql_fetch_array($res))
{
echo "<input type=\"checkbox\" name=\"checkbox[]\" value=\"".$val["numsous"]."\">";
echo $val["numsous"];
echo $val["dessous"];
if($num>1)
{?>
<br></br>
<?
}
}
?>
</td></tr>
<tr valign="bottom">
<td height="70" colspan="3"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#666666">
<tr align="center">
<td><input type="reset" value="Effacer" name="bouton"></td>
<td><input type="submit" value="Ajouter" name="bouton" onClick="JavaScript: return VerifForm(this.form);"></td>
<?
if(isset($_POST["liste"]) )
{
if($_POST["liste"]!="new" && !empty($_POST["liste"]) ) //gestion des boutons
{
?>
<td><input type="submit" value="Modifier" name="bouton" onClick="JavaScript: return VerifForm(this.form);"></td>
<td><input type="submit" value="Supprimer" name="bouton" onclick="javascript: return confirm('Etes-vous sur de vouloir supprimer ce programme?' );"></td>
<? }} ?>
</tr>
</table></td>
<tr>
<td height="40" colspan="3"></td>
</tr>
</table>
</form></body>