avec les crochets tu va récupérer un tableau, rempli uniquement avec les valeurs des cases cochées
donc à la réception tu boucles sur ce tableau, et pour chaque valeur tu insères ta ligne
<?php
foreach ($imprimante[] as $num_imprimante)
{
$slq4="INSERT INTO convient(num_imprimante,reference)
VALUES ($num_imprimante,'$reference')";
mysql_query($sql4) or die(mysql_error());
?>
a savoir que je vais mettre ca a la suite de mon taitement de mon formulaire<html>
<body bgcolor="#000066" text="yellow">
<?php
include("connect.php");
$reference = $_POST['reference'];
$libelle = $_POST['libelle'];
$prix = $_POST['prix'];
$stock = $_POST['quantite'];
$compatible = $_POST['compatible'];
$sql3 = "INSERT INTO cartouche(reference,libelle,prix,stock,compatible) VALUES('$reference','$libelle',$prix,$stock,'$compatible')";
mysql_query($sql3) or die(mysql_error());
//ici sans les balises <?php et ?>
mysql_close();
?>
<br><br><br><br><br><br><br><br><br><br><br>
<p align='center'>Insertion reussie .</p>
<br><br><br><br><br><br>
<p align='center'><a href=../centre_acceuil.htm>retour a l'accueil</a></p>
</body>
</html>
question:
<?php
foreach ($imprimante[] as $num_imprimante)
{
$slq4="INSERT INTO convient(num_imprimante,reference)
VALUES ('".$num_imprimante."',''.$reference."')";
mysql_query($sql4) or die(mysql_error());
?>
la boucle foreach parcoure le tableau tant qu'il y a des trucs dedans, elle s'arrête au bout-Est ce que la boucle s'arrete bien a la fin du tableau (il ne faut pas lui mettre de balise de fin) ?
si, tu dois toujours la récupérer comme ça-il n'y a pas besoin de declarer la variable de num_imprimante par un $num_imprimante=$_POST['imprimante[]']?
$num_imprimante=$_POST['imprimante']; // pas de crochets pour le moment<?php
$base = "ges_imprimante";
//ouverture de la nouvelle connexion sur la base
if ($base != -1 ){
//ouvertur de la nouvelle connexion sur la base récupérée
$link = connect_db($base);
//édition de la requete
$requete_util = "select * from imprimante";
//execution de la requete
$resultat_util = mysql_query($requete_util) or die ("requete base erreur");
while ($data = mysql_fetch_array($resultat_util))
{
print "<input type=checkbox name='imprimante[]' value='".$data['num_imprimante']."'> ".$data['imprimante']."<br>\n";
}
}
else
{
?>
<div class="erreur">
Aucune base n'est activée.
</div>
<br>
<br>
<?php
}
//fermeture de la connection
mysql_close();
?>
et la partie traitement du formulaire donne :<html>
<body bgcolor="#000066" text="yellow">
<?php
include("connect.php");
$reference = $_POST['reference'];
$libelle = $_POST['libelle'];
$prix = $_POST['prix'];
$stock = $_POST['quantite'];
$compatible = $_POST['compatible'];
$num_imprimante = $_POST['imprimante'];
$sql3 = "INSERT INTO cartouche(reference,libelle,prix,stock,compatible) VALUES('$reference','$libelle',$prix,$stock,'$compatible')";
mysql_query($sql3) or die(mysql_error());
foreach ($imprimante[] as $num_imprimante)
{
$slq4="INSERT INTO convient(num_imprimante,reference)
VALUES ('','".$num_imprimante."','".$reference."')";
mysql_query($sql4) or die(mysql_error());
}
mysql_close();
?>
<br><br><br><br><br><br><br><br><br><br><br>
<p align='center'>Insertion reussie .</p>
<br><br><br><br><br><br>
<p align='center'><a href=../centre_acceuil.htm>retour a l'accueil</a></p>
</body>
</html>
lorque j execute le formulaire la partie du traitement qui incremente ma table cartouche fonctionne. foreach ($imprimante[] as $num_imprimante)
foreach ($imprimante as $num_imprimante)foreach ($imprimante as $num_imprimante)
la premiere variable represente le tableau$num_imprimante = $_POST['imprimante'];
car j ai essaye avec le foreach ($imprimante as $num_imprimante) et il me remet exactement la meme erreur :foreach ($num_imprimante as $imprimante)
{
$slq4="INSERT INTO convient(id_convient,num_imprimante,reference)
VALUES ('','".$imprimante."','".$reference."')";
mysql_query($sql4) or die(mysql_error());
}
et la il me dit :
$slq4="INSERT INTO convient(id_convient,num_imprimante,reference)
VALUES ('','".$imprimante."','".$reference."')";
et tu utilise $sql4
mysql_query($sql4) or die(mysql_error());