bonjour
j'ai plusieurs lignes avec cases à cocher
mon problème toujours la requête ajouter le dernier ligne
<?php
@mysql_connect('localhost', 'root', '') or die(mysql_error());
// mysql_connect($host, $username, $password) 
mysql_select_db('stocks') or die(mysql_error());
if(isset($_POST['comm']) && isset($_POST['submit']))
{
 
 
$matcommande = $_POST['matcommande'];
  $datecommande = $_POST['datecommande'];
  $nom = $_POST['nom'];
 
 
foreach ($_POST['comm'] as $comm)
{
  $designation = $_POST['designation'];
}
 
foreach ($_POST['comm'] as $comm)
{
  $prixunitaire = $_POST['prixunitaire'];
}
foreach ($_POST['comm'] as $comm)
{
   $quantiteachete = $_POST['quantiteachete'];
}
}
 
 $query = "INSERT INTO commande (`matcommande`,`datecommande`,`nom`,`designation`,`prixunitaire`,`quantiteachete`) 
 VALUES ('$matcommande','$datecommande','$nom','$designation','$prixunitaire','$quantiteachete')";
if ($query)
            {
                echo "SUCCESS";
            }
            else
            {
                echo "FAILED";
            }
 mysql_query($query) or die(mysql_error());
}
 
 
 
?>

<?php
$reponse = $bdd->query('SELECT idproduit, designation, prixunitaire FROM produit ');
 
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<tr>
<td><input type="checkbox" name="comm[]" value="<?php echo $donnes['idproduit']; ?>"/></td>
  <td><input type="hidden" name="designation"  value="<?php echo $donnees['designation']; ?>"/><?php echo $donnees['designation']; ?></td>
  <td><input type="hidden" name="prixunitaire" value="<?php echo $donnees['prixunitaire']; ?>"/><?php echo $donnees['prixunitaire']; ?></td>
<td><input type="number" name=" quantiteachete"  value="<?php echo $donnees['quantiteachete']; ?>" size="2" /></td>
 </tr>
<?php
}
 
 
$reponse->closeCursor(); // Termine le traitement de la requête
 
 
?>

upload/1559981146-75620-c.png
upload/1559981158-75620-c2.png
Modifié par wiemayed (08 Jun 2019 - 10:08)
wiemayed a écrit :
mon problème toujours la requête ajouter le dernier ligne


Salut

J'ai rien compris.
bonsoir
exemple quand je choisir la premier ligne et la deriner ligne
toujours la requête ajouter la dernier ligne dans la base
Salut,
Il y a plusieurs soucis:
- Il faut que "designation", "prixunitaire", et "quantiteachete" dans ton formulaire soient aussi des tableaux (comme ton checkbox "comm")
- Ensuite, niveau du traitement :

<?php
@mysql_connect('localhost', 'root', '') or die(mysql_error());
// mysql_connect($host, $username, $password) 
mysql_select_db('stocks') or die(mysql_error());
if(isset($_POST['comm']) && isset($_POST['submit']))
{
 
 
$matcommande = $_POST['matcommande'];
  $datecommande = $_POST['datecommande'];
  $nom = $_POST['nom'];
 
 
foreach ($_POST['comm'] as $key => $value)
{
  $designation = $_POST['designation'][$key];
  $prixunitaire = $_POST['prixunitaire'][$key];
  $quantiteachete = $_POST['quantiteachete'][$key];
 
 $query = "INSERT INTO commande (`matcommande`,`datecommande`,`nom`,`designation`,`prixunitaire`,`quantiteachete`) 
 VALUES ('$matcommande','$datecommande','$nom','$designation','$prixunitaire','$quantiteachete')";
if ($query)
            {
                echo "SUCCESS";
            }
            else
            {
                echo "FAILED";
            }
 mysql_query($query) or die(mysql_error());
}
 
 
 
?>

- Tu ne mets pas ton IDproduit en base de données?
- Ensuite, rien à voir, mais j'ai pas l'impression que ta requête soit sécurisée (mais je connais pas MySQL donc c'est peut-être juste une impression!)

A+
Modifié par Mathieu8337 (11 Jun 2019 - 11:01)
Modérateur
a écrit :
Ensuite, rien à voir, mais j'ai pas l'impression que ta requête soit sécurisée

Absolument, c'est dramatiquement dangereux.
je rajouterais que l'extension mysql qui était obsolète en php 5.* est supprimée en php 7 notamment à cause de ses multiples vulnérabilités.

Il faut:
- passer à mysqli ou pdo_mysql
- utiliser des requêtes préparées ou nettoyer soigneusement tes données au préalable.