Problème de table tempon et d'insertion multiple [Résolu]

Signaler
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
-
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
-
Bonjour,
je voudrai utiliser une table tampon afin d'enregistrer des articles vendus.
Pas de problème pour la table tampon . Mais tout se complique quand je veux insérer les données de la table tmp_article (table tampon) dans la table article. je vous donne la structure des tables tmp_article et articles:


Structure de la table 'tmp_articles'

CREATE TABLE IF NOT EXISTS 'tmp_articles' (
  'id_art' int(11) NOT NULL AUTO_INCREMENT,
  'dateArt' datetime NOT NULL,
  'articleVendu' varchar(150) NOT NULL,
  'articleRef' varchar(30) NOT NULL,
  'articleQuant' int(15) NOT NULL,
  'articlePU' float NOT NULL,
  'id' int(11) NOT NULL,
  'id_prod' int(11) NOT NULL,
  'session' varchar(150) NOT NULL,
  PRIMARY KEY ('id_art')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;

--
-- Contenu de la table 'tmp_articles'
--

INSERT INTO 'tmp_articles' ('id_art', 'dateArt', 'articleVendu', 'articleRef', 'articleQuant', 'articlePU', 'id', 'id_prod', 'session') VALUES
(27, '2014-06-06 19:58:37', 'FLAG', '1', 10, 500, 637, 1, 'admin'),
(28, '2014-06-06 20:03:11', 'TUBORG', '10', 10, 500, 637, 2, 'admin'),
(29, '2014-06-06 20:03:28', 'TUBORG', '103', 10, 500, 637, 2, 'admin'),
(30, '2014-06-06 22:19:47', 'FLAG', '100', 10, 500, 638, 1, 'admin');
COMMIT;


et la table articles :

--
-- Structure de la table 'articles'
--

CREATE TABLE IF NOT EXISTS 'articles' (
  'id_art' int(11) NOT NULL AUTO_INCREMENT,
  'dateArt' datetime NOT NULL,
  'articleVendu' varchar(50) NOT NULL,
  'articleRef' varchar(50) NOT NULL,
  'articleQuant' varchar(50) NOT NULL,
  'articlePU' varchar(50) NOT NULL,
  'id' int(11) NOT NULL,
  'id_prod' int(11) NOT NULL,
  'session' varchar(150) NOT NULL,
  PRIMARY KEY ('id_art')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;

--
-- Contenu de la table 'articles'
--

INSERT INTO 'articles' ('id_art', 'dateArt', 'articleVendu', 'articleRef', 'articleQuant', 'articlePU', 'id', 'id_prod', 'session') VALUES
(21, '2014-06-06 21:24:44', 'TUBORG', '103', '10', '500', 0, 0, 'admin'),
(20, '2014-06-06 21:24:44', 'TUBORG', '103', '10', '500', 0, 0, 'admin'),
(19, '2014-06-06 21:24:44', 'TUBORG', '103', '10', '500', 0, 0, 'admin');
COMMIT;



voici le code qui me permet d'afficher et et d'insérer dans la table articles
<?php
if (isset($_POST['submit'])) {
  $cat = strip_tags(trim($_POST['cat'])); 
  //compter le nombre d'enregistrement
  $session = $_SESSION[\"pseudo\"];
  $sql = (\"SELECT * FROM tmp_articles WHERE session = '\".$session.\"' order by id_art    \");
     $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  $nbre = mysql_num_rows($q);
  if($nbre != 0){
  $nbre = $rows[\"NBRE\"];
  if(isset($nbre)){
        for($i = 1; $i <= $nbre; $i++){
       //declaration de variable
   $dateArt=trim($_POST[\"dateArt\".$i]);
   $articleRef=trim($_POST[\"articleRef\".$i]);
   $articleQuant=trim($_POST[\"articleQuant\".$i]);
   $articlePU=trim($_POST[\"articlePU\".$i]);
   //RECUPERATION DE L ID PRODUIT
   $id_pd = explode(\"/\",$_POST[\"articleVendu\".$i]);
   $id_prod = $id_pd[1];
   $articleVendu = $id_pd[0];
 // on fait l'INSERT dans la base de données
     $sql = \"INSERT INTO articles(id_art,dateArt,articleVendu,articleRef,articleQuant,articlePU,id,id_prod,session)                                                                                                                                                                                    VALUES('',NOW(),'\".$articleVendu.\"','\".$articleRef.\"','\".$articleQuant.\"','\".$articlePU.\"','\".$id.\"','\".$id_prod.\"','\".$_SESSION[\"pseudo\"].\"')\";
// on insère les informations du formulaire dans la table  
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
             $msg = 'okkk'; 
             echo '<script>alert(\' '.$msg.' \');</script>' ;
//header('location:index.php?page=test_fichier_compt&id_client='.urlencode($id).'&ref='.urlencode($articleRef).'&id_art='.urlencode($id_art));
}}}}
?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
<title>Dynamic Drive: CSS Top and Bottom Frames Layout</title>



</head>

<body>




<form action=\"\" method=\"post\">
<table width=\"960\" border=\"0\">
  <tr>
    <td width=\"192\">ARTICLES VENDUS</td>
    <td width=\"137\"><span class=\"Style3\">REFERENCE</span></td>
    <td width=\"148\"><span class=\"Style3\">QUANTITE</span></td>
    <td width=\"141\"><span class=\"Style3\">(PRIX U)</span></td>
    <td width=\"76\"></td>
    <td width=\"80\"></td>

    </tr>
    <?php
   $session = $_SESSION[\"pseudo\"]; 
   $sql = (\"SELECT * FROM tmp_articles WHERE session = '\".$session.\"' order by id_art    \");
      $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
   extract($_POST); 
   while($rows  = mysql_fetch_assoc($q)){
    $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++); 
 ?>
  <tr>
    <td><input name=\"articleVendu<?php echo $j;  ?>\" type=\"text\" style=\"width:160px;background-color:#E5E5E5;\" size=\"15\" value=\"<?php echo $rows[\"articleVendu\"];  ?>\" /></td>
    <td><input type=\"text\" style=\"width:100px;background-color:#E5E5E5; text-align:center\" name=\"articleRef<?php echo $j;  ?>\" value=\"<?php echo $rows[\"articleRef\"];  ?>\" /></td>
    <td><input type=\"text\" style=\"width:100px;background-color:#E5E5E5; text-align:center\" name=\"articleQuant<?php echo $j;  ?>\" value=\"<?php echo $rows[\"articleQuant\"];  ?>\" /></td>
    <td><input type=\"text\" style=\"width:100px;background-color:#E5E5E5; text-align:center \" name=\"articlePU<?php echo $j;  ?>\" value=\"<?php echo $rows[\"articlePU\"];  ?>\" /></td>
    <td><input type=\"text\" style=\"width:45px;background-color:#E5E5E5 ; text-align:center\" name=\"id<?php echo $j;  ?>\" value=\"<?php echo $rows[\"id\"];  ?>\" /></td>
    <td><input type=\"text\" style=\"width:45px;background-color:#E5E5E5; text-align:center \" name=\"id_prod<?php echo $j;  ?>\" value=\"<?php echo $rows[\"id_prod\"];  ?>\" /></td>
  
    </tr>
   <?php
        }//}
      ?>
  </table>

<table width=\"200\" border=\"0\" style=\"position:absolute; top:5px; left:500px; color:#400000\">

  <tr>
    <td>
<?php
$sql = \"SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '\".$session.\"'  \";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
 $leTotal = number_format($liste_etu[\"leTotal\"], 0, ',', ' '); 
echo '<center> <table width=\"561\" border=\"0\">
  <tr>
    <td width=\"238\" style=\" color:#400000\">MONTANT TOTAL A PAYER </td>
    <td bgcolor=\"#CCCCCC\" width=\"307\"><input type=\"text\" name=\"textfield\"  value = \"'.$leTotal.'\"/>F</td>
  </tr>
</table></center>';
}

?>
    </td>

  </tr>
</table>
<h3><input type=\"submit\" name=\"submit\" id=\"submit\" value=\"FACTURER\" /></h3>
</form>
</body>
</html>


au lieu de 4 lignes qui s'insère l'ai pluto une seul ligne et les autre lignes sont vides</signature>

<signature>--

17 réponses

Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Bonjour,

1 - J'ai remis en forme ton message pour mettre les balises de code correctement ( au bon endroit et en spécifiant les langages)...

2 - Pourquoi est-ce que tu echappes tes apostrophes dans tes POST ou tes SESSIONS ?
 $session = $_SESSION[\"pseudo\"];


S'écrit tout aussi bien :
 $session = $_SESSION["pseudo"];
// ou
 $session = $_SESSION['pseudo'];



3 - Pourquoi n'utilises tu pas la syntaxe que je t'ai plusieurs fois donné :
//Ceci évite des erreurs lors de la récup des données
 $session = isset($_SESSION["pseudo"])? $_SESSION["pseudo"]:'';



4 - Pourquoi "gères" tu les ID lors de tes INSERT alors que ta BDD s'en occupe toute seule (vu que tu as des id auto incrémentés ) ??
  $sql = \"INSERT INTO articles(id_art,dateArt,articleVendu,articleRef,articleQuant,articlePU,id,id_prod,session)    VALUES('',NOW(),'\".$articleVendu.\"','\".$articleRef.\"','\".$articleQuant.\"','\".$articlePU.\"','\".$id.\"','\".$id_prod.\"','\".$_SESSION[\"pseudo\"].\"')\";


4 bis : Et pouquoi ne mets tu pas des sauts de lignes dans tes requêtes (comme je te l'ai déjà dis plein de fois...) ce qui les rendrait plus lisible....!!!
$sql = \"INSERT INTO articles(
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session)    
VALUES(NOW()
   ,'\".$articleVendu.\"'
   ,'\".$articleRef.\"'
   ,'\".$articleQuant.\"'
   ,'\".$articlePU.\"'
   ,'\".$id.\"'
   ,'\".$id_prod.\"'
   ,'\".$_SESSION[\"pseudo\"].\"'
)\";


4 c - Là aussi.... à quoi te sert d'échapper les apostrophes/quotes dans ta requête ???
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "INSERT INTO articles
   (
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session
   )    
VALUES(
    NOW()
   ,'$articleVendu'
   ,'$articleRef'
   ,'$articleQuant'
   ,'$articlePU'
   ,'$id'
   ,'$id_prod'
   ,'$pseudo'
)";



5 - As tu mis des ECHO de tes requêtes pour voir si elles sont bonnes ?

6 - As tu testé ces requêtes directement dans ta BDD ?


Voila... corrige déjà ton code en fonction de mes quelques remarques.... testes pour voir si ça fonctionne...
Et si ça bloque toujours, repostes ton code modifié et indique nous (en fonction de mes remaques/questions) ce que tu obtiens.





Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
PS: merci de ne pas ouvrir de discussion en double sur le forum..!!!!
J'ai supprimé l'ancienne vu que tu l'avais créé sans être connecté.
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
bonsoir,
j'ai fais suivi vos conseils.

5 - As tu mis des ECHO de tes requêtes pour voir si elles sont bonnes ?


echo m'affiche : 11111
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
voici ce que donne la base de données apres une insertion :

Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
echo m'affiche : 11111

.... je ne t'ai pas demandé de faire un echo de la QUERY ... mais de la variable $SQL

// on fait l'INSERT dans la base de données
$sql = "INSERT INTO articles
   (
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session
   )    
VALUES(
    NOW()
   ,'$articleVendu'
   ,'$articleRef'
   ,'$articleQuant'
   ,'$articlePU'
   ,'$id'
   ,'$id_prod'
   ,'$pseudo'
)";

// >>>>  ECHO DE LA REQUETE <<<<<<
echo "<br><b> REQUETE : </b><br>".$sql."<br>";

// on insère les informations du formulaire dans la table  
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());



Ce n'est pas comme si je ne t'en avait pas déjà fait faire d'autre avant.... :-(


j'ai fais suivi vos conseils.
Sauf pour :
si ça bloque toujours, repostes ton code modifié et indique nous (en fonction de mes remaques/questions) ce que tu obtiens.
...
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
bonjour,
1. j'ai testé en direct la requête :
$sql = "INSERT INTO articles
   (
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session
   )    
VALUES(
    NOW()
   ,'$articleVendu'
   ,'$articleRef'
   ,'$articleQuant'
   ,'$articlePU'
   ,'$id'
   ,'$id_prod'
   ,'$pseudo'
)";

et voici le résultat :

-- Structure de la table 'articles'

CREATE TABLE IF NOT EXISTS 'articles' (
  'id_art' int(11) NOT NULL AUTO_INCREMENT,
  'dateArt' datetime NOT NULL,
  'articleVendu' varchar(50) NOT NULL,
  'articleRef' varchar(50) NOT NULL,
  'articleQuant' varchar(50) NOT NULL,
  'articlePU' varchar(50) NOT NULL,
  'id' int(11) NOT NULL,
  'id_prod' int(11) NOT NULL,
  'session' varchar(150) NOT NULL,
  PRIMARY KEY ('id_art')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=188 ;

--
-- Contenu de la table 'articles'
--

INSERT INTO 'articles' ('id_art', 'dateArt', 'articleVendu', 'articleRef', 'articleQuant', 'articlePU', 'id', 'id_prod', 'session') VALUES
(187, '2014-06-13 09:52:49', '$articleVendu', '$articleRef', '$articleQuant', '$articlePU', 0, 0, '$pseudo');
COMMIT;


2. // >>>> ECHO DE LA REQUETE <<<<<<
echo "<br><b> REQUETE : </b><br>".$sql."<br>";

ne m'affiche rien

3. voici tout mon code :
<?php
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
if (isset($_POST["submit"])) {
  $cat = strip_tags(trim($_POST['cat'])); 
  //compter le nombre d'enregistrement

  $sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art    ");
     $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  $nbre = mysql_num_rows($q);
  
  if($nbre !=0){
        for($i = 1; $i <= $nbre; $i++){
       //declaration de variable
   $dateArt=trim($_POST["dateArt".$i]);
   $articleRef=trim($_POST["articleRef".$i]);
   $articleQuant=trim($_POST["articleQuant".$i]);
   $articlePU=trim($_POST["articlePU".$i]);
   //RECUPERATION DE L ID PRODUIT
   $id_pd = explode("/",$_POST["articleVendu".$i]);
   $id_prod = $id_pd[1];
   $articleVendu = $id_pd[0];

// on fait l'INSERT dans la base de données

$sql = "INSERT INTO articles
   (
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session
   )    
VALUES(
    NOW()
   ,'$articleVendu'
   ,'$articleRef'
   ,'$articleQuant'
   ,'$articlePU'
   ,'$id'
   ,'$id_prod'
   ,'$pseudo'
)";
// >>>>  ECHO DE LA REQUETE <<<<<<
echo "<br><b> REQUETE : </b><br>".$sql."<br>";

// on insère les informations du formulaire dans la table  
$r  = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);
}}}
?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]">
<html xmlns="[http://www.w3.org/1999/xhtml]" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>achat</title>


</head>

<body>



<h1 style=" color:#400000">ARTICLES SAISIS</h1>


<form action="" method="post">
<table width="960" border="0">
  <tr>
    <td width="192">ARTICLES VENDUS</td>
    <td width="137"><span class="Style3">REFERENCE</span></td>
    <td width="148"><span class="Style3">QUANTITE</span></td>
    <td width="141"><span class="Style3">(PRIX U)</span></td>
    <td width="76"></td>
    <td width="80"></td>

    </tr>
    <?php
   $session = $_SESSION["pseudo"]; 
   $sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art    ");
      $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
   extract($_POST); 
   while($rows  = mysql_fetch_assoc($q)){
   for($j = 1; $j<= $nbre; $j++); 
 ?>
  <tr>
    <td><input name="articleVendu<?php echo $j;  ?>" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef<?php echo $j;  ?>" value="<?php echo $rows["articleRef"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant<?php echo $j;  ?>" value="<?php echo $rows["articleQuant"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU<?php echo $j;  ?>" value="<?php echo $rows["articlePU"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id<?php echo $j;  ?>" value="<?php echo $rows["id"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod<?php echo $j;  ?>" value="<?php echo $rows["id_prod"];  ?>" /></td>
  
    </tr>
   <?php
        }//}
      ?>
  </table>



<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

  <tr>
    <td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."'  ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
 $leTotal = number_format($liste_etu["leTotal"], 0, ',', ' '); 
echo '<center> <table width="561" border="0">
  <tr>
    <td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
    <td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield"  value = "'.$leTotal.'"/>F</td>
  </tr>
</table></center>';
}

?>
    </td>

  </tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>


Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Quand tu fais l'écho de $sql .. tu n'obtiens rien ???


// on fait l'INSERT dans la base de données

$sql = "INSERT INTO articles
   (
   dateArt
   ,articleVendu
   ,articleRef
   ,articleQuant
   ,articlePU
   ,id
   ,id_prod,session
   )    
VALUES(
    NOW()
   ,'$articleVendu'
   ,'$articleRef'
   ,'$articleQuant'
   ,'$articlePU'
   ,'$id'
   ,'$id_prod'
   ,'$pseudo'
)";
// >>>>  ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";


Tu peux nous copier COLLER TOUT ce qui se trouve entre les deux lignes dans ta page lorsque tu exécutes le code ???

De plus... Tester en direct... signifie tester DANS la BDD directement... en remplaçant les variabes par des VALEURS !

INSERT INTO 'articles' ('id_art', 'dateArt', 'articleVendu', 'articleRef', 'articleQuant', 'articlePU', 'id', 'id_prod', 'session') VALUES
(187, '2014-06-13 09:52:49', '$articleVendu', '$articleRef', '$articleQuant', '$articlePU', 0, 0, '$pseudo');
COMMIT;

Risque en effet de ne pas marcher !!!!


Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
1. REQUETE EN DIRECT /
INSERT INTO articles
(
dateArt
,articleVendu
,articleRef
,articleQuant
,articlePU
,id
,id_prod,session
)
VALUES(
NOW()
,'FLAG'
,'1005'
,'50t'
,'250'
,'$id'
,'$id_prod'
,'MSI79'
)
DONNE BIEN :

-- Contenu de la table 'articles'
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
1. j'ai modifier mon code .
voici le code modifié :
<?php
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
if (isset($_POST["submit"])) {

?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>achat</title>


</head>

<body>



<h1 style=" color:#400000">ARTICLES SAISIS</h1>


<form action="" method="post">
<table width="960" border="0">
<tr>
<td width="192">ARTICLES VENDUS</td>
<td width="137"><span class="Style3">REFERENCE</span></td>
<td width="148"><span class="Style3">QUANTITE</span></td>
<td width="141"><span class="Style3">(PRIX U)</span></td>
<td width="76"></td>
<td width="80"></td>

</tr>
<?php
$session = $_SESSION["pseudo"];
$sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art ");
$q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
extract($_POST);
while($rows = mysql_fetch_assoc($q)){

//declaration de variable
//$dateArt=trim($_POST["dateArt".$i]);
$articleRef=trim($_POST["articleRef"]);
$articleQuant=trim($_POST["articleQuant"]);
$articlePU=trim($_POST["articlePU"]);
//RECUPERATION DE L ID PRODUIT
$id_pd = explode("/",$_POST["articleVendu"]);
$id_prod = $id_pd[1];
$articleVendu = $id_pd[0];

// on fait l'INSERT dans la base de données

$sql = "INSERT INTO articles
(
dateArt
,articleVendu
,articleRef
,articleQuant
,articlePU
,id
,id_prod,session
)
VALUES(
NOW()
,'$articleVendu'
,'$articleRef'
,'$articleQuant'
,'$articlePU'
,'$id'
,'$id_prod'
,'$pseudo'
)";
// >>>> ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";

// on insère les informations du formulaire dans la table
$r = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);

?>
<tr>
<td><input name="articleVendu" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"]; ?>" /></td>

</tr>
<?php
}}
?>
</table>



<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

<tr>
<td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."' ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$leTotal = number_format($liste_etu["leTotal"], 0, ',', ' ');
echo '<center> <table width="561" border="0">
<tr>
<td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
<td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield" value = "'.$leTotal.'"/>F</td>
</tr>
</table></center>';
}

?>
</td>

</tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>
2.
// >>>>  ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";

donne :
-----------------------------------------

REQUETE :
INSERT INTO articles ( dateArt ,articleVendu ,articleRef ,articleQuant ,articlePU ,id ,id_prod,session ) VALUES( NOW() ,'' ,'' ,'' ,'' ,'' ,'' ,'admin' )
-----------------------------------------

3.
// on insère les informations du formulaire dans la table  
$r = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);

affiche 1
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Et donc.. c'est normal que tu es du vide pour tees variables ?
INSERT INTO articles ( dateArt ,articleVendu ,articleRef ,articleQuant ,articlePU ,id ,id_prod,session ) VALUES( NOW() ,'' ,'' ,'' ,'' ,'' ,'' ,'admin' ) 



Tu peux modifier ton code (pour la récupération de tes variables) afin d'utiliser la syntaxe que je t'ai déjà proposé 10000 fois ??
Remplacer les lignes du genre :
$articleRef=trim($_POST["articleRef"]);


Par :

$articleRef=isset($_POST["articleRef"])?trim($_POST["articleRef"]):'error';



Essais aussi de placer TOUTES tes récupérations de variable POST / SESSION ... Au début de ta page.....


Bon je pense que comme ça...ça devrait être mieux :
<?php
//--------------------------------------------------------------
//RECUPERATION DES VARIABLES POST / SESSION ...
//--------------------------------------------------------------
  $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';

	//$dateArt=trim($_POST["dateArt".$i]);
	$articleRef=isset($_POST["articleRef"])?trim($_POST["articleRef"]):'error';
	$articleQuant=isset($_POST["articleQuant"])?trim($_POST["articleQuant"]):'error';
	$articlePU=isset($_POST["articlePU"])?trim($_POST["articlePU"]):'error';
	//RECUPERATION DE L ID PRODUIT
	$artVendu = isset($_POST["articleVendu"])?$_POST["articleVendu"]:'';
	 $id_pd = explode("/",$artVendu);
	 $id_prod = $id_pd[1];
	 $articleVendu = $id_pd[0];

 //--------------------------------------------------------------
 // Debut du programme :
 //--------------------------------------------------------------
 if (isset($_POST["submit"])) {
?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title>achat</title>
</head>

<body>

<h1 style=" color:#400000">ARTICLES SAISIS</h1>
<form action="" method="post">
<table width="960" border="0">
  <tr>
    <td width="192">ARTICLES VENDUS</td>
    <td width="137"><span class="Style3">REFERENCE</span></td>
    <td width="148"><span class="Style3">QUANTITE</span></td>
    <td width="141"><span class="Style3">(PRIX U)</span></td>
    <td width="76"></td>
    <td width="80"></td>

    </tr>
    <?php
	  $session = $_SESSION["pseudo"]; 
	  $sql = "SELECT * 
				FROM tmp_articles 
				WHERE session = '".$session."' 
				order by id_art ";
    $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
	  //extract($_POST); 
	  while($rows  = mysql_fetch_assoc($q)){

		// on fait l'INSERT dans la base de données

		$sql = "INSERT INTO articles
			 (
			 dateArt
			 ,articleVendu
			 ,articleRef
			 ,articleQuant
			 ,articlePU
			 ,id
			 ,id_prod,session
			 )    
		VALUES(
				NOW()
			 ,'".$rows["articleVendu"]."'
			 ,'".$rows["articleRef"]."'
			 ,'".$rows["articleQuant"]."'
			 ,'".$rows["articlePU"]."'
			 ,'".$rows["id"]."'
			 ,'".$rows["id_prod"]."'
			 ,'$pseudo'
		)";
		// >>>>  ECHO DE LA REQUETE <<<<<<
		echo "<br>-----------------------------------------<br>";
		echo "<br><b> REQUETE : </b><br>".$sql."<br>";
		echo "-----------------------------------------<br>";

		// on insère les informations du formulaire dans la table  
		$r  = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
		

	?>
  <tr>
    <td><input name="articleVendu" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"];  ?>" /></td>
  
    </tr>
	  <?php
        } // Fin de la boucle While
	}// Fin du IF
      ?>
  </table>



<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

  <tr>
    <td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."'  ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
	$leTotal = number_format($liste_etu["leTotal"], 0, ',', ' ');	
echo '<center> <table width="561" border="0">
  <tr>
    <td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
    <td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield"  value = "'.$leTotal.'"/>F</td>
  </tr>
</table></center>';
}

?>
    </td>

  </tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>



Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je crois que le nouveau code n'est pas le bon . je retourne a l'ancien et continuer a demander votre aide
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Tu as testé le mien ?

Enfin.. si tu retournes à l'ancien... tiens compte quand même de mes remarques.
Modifie aussi la requête comme ceci :

$sql = "INSERT INTO articles
			 (
			 dateArt
			 ,articleVendu
			 ,articleRef
			 ,articleQuant
			 ,articlePU
			 ,id
			 ,id_prod,session
			 )    
		VALUES(
				NOW()
			 ,'".$rows["articleVendu"]."'
			 ,'".$rows["articleRef"]."'
			 ,'".$rows["articleQuant"]."'
			 ,'".$rows["articlePU"]."'
			 ,'".$rows["id"]."'
			 ,'".$rows["id_prod"]."'
			 ,'$pseudo'
		)";
		// >>>>  ECHO DE LA REQUETE <<<<<<
		echo "<br>-----------------------------------------<br>";
		echo "<br><b> REQUETE : </b><br>".$sql."<br>";
		echo "-----------------------------------------<br>";
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
la je suis complétement perdu . je remarque que le code que vous veniez de me proposé ne peux que être utilisé dans mon nouveau code mais la encore ça ne marche pas .
en plus les articles saisis dans tmp_articles ne s'affichent plus. et pas d'insertion

voici le nouveau code :
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>achat</title>
</head>
<body>
<h1 style=" color:#400000">ARTICLES SAISIS</h1>
<form action="" method="post">
<table width="960" border="0">
<tr>
<td width="192">ARTICLES VENDUS</td>
<td width="137"><span class="Style3">REFERENCE</span></td>
<td width="148"><span class="Style3">QUANTITE</span></td>
<td width="141"><span class="Style3">(PRIX U)</span></td>
<td width="76"></td>
<td width="80"></td>
</tr>
<?php
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';

$sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art ");
$q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($rows = mysql_fetch_assoc($q)){

if (isset($_POST["submit"])) {


$sql = "INSERT INTO articles
(
dateArt
,articleVendu
,articleRef
,articleQuant
,articlePU
,id
,id_prod,session
)
VALUES(
NOW()
,'".$rows["articleVendu"]."'
,'".$rows["articleRef"]."'
,'".$rows["articleQuant"]."'
,'".$rows["articlePU"]."'
,'".$rows["id"]."'
,'".$rows["id_prod"]."'
,'$pseudo'
)";
// >>>> ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";

//on insère les informations du formulaire dans la table
$r = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);

?>
<tr>
<td><input name="articleVendu" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"]; ?>" /></td>

</tr>
<?php
}}
?>
</table>
<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">
<tr>
<td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."' ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$leTotal = number_format($liste_etu["leTotal"], 0, ',', ' ');
echo '<center> <table width="561" border="0">
<tr>
<td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
<td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield" value = "'.$leTotal.'"/>F</td>
</tr>
</table></center>';
}

?>
</td>
</tr>
</table>
</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>
</div>
</div>
</form>
</body>
</html>
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Ou se trouve la récupération des variables POST / SESSION dans ce nouveau code ?????

<?php
//--------------------------------------------------------------
//RECUPERATION DES VARIABLES POST / SESSION ...
//--------------------------------------------------------------
  $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';

	//$dateArt=trim($_POST["dateArt".$i]);
	$articleRef=isset($_POST["articleRef"])?trim($_POST["articleRef"]):'error';
	$articleQuant=isset($_POST["articleQuant"])?trim($_POST["articleQuant"]):'error';
	$articlePU=isset($_POST["articlePU"])?trim($_POST["articlePU"]):'error';
	//RECUPERATION DE L ID PRODUIT
	$artVendu = isset($_POST["articleVendu"])?$_POST["articleVendu"]:'';
	 $id_pd = explode("/",$artVendu);
	 $id_prod = $id_pd[1];
	 $articleVendu = $id_pd[0];
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
la solution que tu m'as donné ne fonctionne pas . mais voici ce que je viens de tenter qui fonctionne mais le problème est que c'est seulement une seule ligne qui s'insère.
voici le code :
<?php
if (isset($_POST["submit"])) {
$cat = strip_tags(trim($_POST['cat']));
//compter le nombre d'enregistrement
$session = isset($_SESSION["pseudo"])? $_SESSION["pseudo"]:'';
$sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art ");
$sql = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nbre = mysql_num_rows($sql);

if($nbre !=0){
while($row = mysql_fetch_assoc($sql)){

$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "INSERT INTO articles
(
dateArt
,articleVendu
,articleRef
,articleQuant
,articlePU
,id
,id_prod,session
)
VALUES(
NOW()
,'".$row["articleVendu"]."'
,'".$row["articleRef"]."'
,'".$row["articleQuant"]."'
,'".$row["articlePU"]."'
,'".$row["id"]."'
,'".$row["id_prod"]."'
,'$pseudo'
)";
// >>>> ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";

// on insère les informations du formulaire dans la table
$r = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);

}}}
?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dynamic Drive: CSS Top and Bottom Frames Layout</title>


</head>

<body>

<div id="framecontentTop">
<div class="innertube">

<h1 style=" color:#400000">ARTICLES SAISIS</h1>
<h3></h3>

</div>
</div>




<div id="maincontent">
<div class="innertube">


<form action="" method="post">
<table width="960" border="0">
<tr>
<td width="192">ARTICLES VENDUS</td>
<td width="137"><span class="Style3">REFERENCE</span></td>
<td width="148"><span class="Style3">QUANTITE</span></td>
<td width="141"><span class="Style3">(PRIX U)</span></td>
<td width="76"></td>
<td width="80"></td>

</tr>
<?php
$session = $_SESSION["pseudo"];
$sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art ");
$q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($rows = mysql_fetch_assoc($q)){

?>
<tr>
<td><input name="articleVendu<?php echo $j; ?>" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"]; ?>" /></td>

</tr>
<?php
}//}
?>
</table>



</div>
</div>




<div id="framecontentBottom">
<div class="innertube">
<div>
</br>
<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

<tr>
<td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."' ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$leTotal = number_format($liste_etu["leTotal"], 0, ',', ' ');
echo '<center> <table width="561" border="0">
<tr>
<td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
<td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield" value = "'.$leTotal.'"/>F</td>
</tr>
</table></center>';
}

?>
</td>

</tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
il n'y a qu'une seule ligne car ...
 $sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art    ");

Tu ne récupère QUE pour UN NUMERO de SESSION donné ... non ????


PS : Je ne participerai plus à tes discussions si tu ne tiens pas compte de mes remarques au niveau de la présentation/mise en page de tes codes ..!!!

Il est clairement plus facile ( et c'est plus Propre..plus pros ) de structurer tes pages de la façon suivante :

<?php
session_start();

//---------------------------------------------------------------
// RECUPERATION DES VARIABLES 
//---------------------------------------------------------------
// ici... Toutes les récup des variables de type POST / SESSION ...etc..

$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$articleRef=isset($_POST["articleRef"])?trim($_POST["articleRef"]):'error';
$articleQuant=isset($_POST["articleQuant"])?trim($_POST["articleQuant"]):'error';
$articlePU=isset($_POST["articlePU"])?trim($_POST["articlePU"]):'error';
//RECUPERATION DE L ID PRODUIT
$artVendu = isset($_POST["articleVendu"])?$_POST["articleVendu"]:'';
 $id_pd = explode("/",$artVendu);
 $id_prod = $id_pd[1];
 $articleVendu = $id_pd[0];


//---------------------------------------------------------------
// Ensuite : Tous les traitements 
// a faire  si ton/tes formulaires ont été "validés"
//---------------------------------------------------------------

if (isset($_POST["submit"])){
 

    // les actions à faire si ton formulaire a été envoyé...
   // Comme l'insert par exemple


}


//---------------------------------------------------------------
// Et enfin ..le reste de ton code
// en général : l'affichage de la page...
//---------------------------------------------------------------





Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
excuse moi pour la présentation de mon code .
je vais m améliorer.

je comprend pas pourquoi cette phrase : Tu ne récupère QUE pour UN NUMERO de SESSION donné ... non ????
est ce que cette requête devrai me renvoyer une seule ligne ?
 $sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art    ");

puisque je veux récupérer tous les enregistrement de la table tmp_articles de la session
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Ah ben si surement...
As tu regardé combien de lignes te retourne cette requête ?

Si tu la teste en direct dans ta BDD .. qu'obtients tu ?
Plusieurs résultats ou pas ?
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Que te donnes les lignes de code suivantes :

 $sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art    ");
 $sql = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 $nbre = mysql_num_rows($sql);
 echo "<br> Nombre de lignes : ".$nbre."<br>";  
   if($nbre !=0){
   $r=0;
    while($row  = mysql_fetch_assoc($sql)){
   $r++;
   echo ">> Row => ".$r."<br>";
   print_r($row);
   echo "<br>*************************<br>"; 


// Le reste de ton code



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
voici la requête que je viens de faire en direct et ça me donne toutes les lignes :
SELECT *
FROM tmp_articles
WHERE SESSION = 'admin'
ORDER BY id_art
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Et tu as ajouté les lignes de code que je t'ai donné juste avant ? http://codes-sources.commentcamarche.net/forum/affich-10030052-probleme-de-table-tempon-et-d-insertion-multiple#19

Qu'obtiens tu à l'affichage de ta page ?

Peux tu nous reposter le code complet modifié ?
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
1.
   echo ">> Row => ".$r."<br>";
print_r($row);
echo "<br>*************************<br>";
donne :

Nombre de lignes : 5
>> Row => 1
Array ( [id_art] => 27 [dateArt] => 2014-06-06 19:58:37 [articleVendu] => FLAG [articleRef] => 1 [articleQuant] => 10 [articlePU] => 500 [id] => 637 [id_prod] => 1 [session] => admin )
*************************

voici mon code complet :
<?php
if (isset($_POST["submit"])) {

//RECUPERATION DES DONNES DANS TMP_ARTICLE
$session = isset($_SESSION["pseudo"])? $_SESSION["pseudo"]:'';
$sql = ("SELECT * FROM tmp_articles WHERE session = '".$session."' order by id_art ");
$sql = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nbre = mysql_num_rows($sql);
echo "<br> Nombre de lignes : ".$nbre."<br>";
if($nbre !=0){
$r=0;
while($row = mysql_fetch_assoc($sql)){
$r++;
echo ">> Row => ".$r."<br>";
print_r($row);
echo "<br>*************************<br>";


// Le reste de ton code
//INSERTION DES VALEURS DANS LA TABLE ARTICLES
$sql = "INSERT INTO articles
(
dateArt
,articleVendu
,articleRef
,articleQuant
,articlePU
,id
,id_prod,session
)
VALUES(
NOW()
,'".$row["articleVendu"]."'
,'".$row["articleRef"]."'
,'".$row["articleQuant"]."'
,'".$row["articlePU"]."'
,'".$row["id"]."'
,'".$row["id_prod"]."'
,'$pseudo'
)";
// >>>> ECHO DE LA REQUETE <<<<<<
echo "<br>-----------------------------------------<br>";
echo "<br><b> REQUETE : </b><br>".$sql."<br>";
echo "-----------------------------------------<br>";

// EXECUTION DE LA REQUETE
$r = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
print_r($r);

}}}
?>
<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dynamic Drive: CSS Top and Bottom Frames Layout</title>


</head>

<body>

<div id="framecontentTop">
<div class="innertube">

<h1 style=" color:#400000">ARTICLES SAISIS</h1>
<h3></h3>

</div>
</div>




<div id="maincontent">
<div class="innertube">


<form action="" method="post">
<table width="960" border="0">
<tr>
<td width="192">ARTICLES VENDUS</td>
<td width="137"><span class="Style3">REFERENCE</span></td>
<td width="148"><span class="Style3">QUANTITE</span></td>
<td width="141"><span class="Style3">(PRIX U)</span></td>
<td width="76"></td>
<td width="80"></td>

</tr>
<?php
$session = $_SESSION["pseudo"];
$sql = ("SELECT *
FROM tmp_articles
WHERE session = '".$session."'
order by id_art ");
$q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($rows = mysql_fetch_assoc($q)){

?>
<tr>
<td><input name="articleVendu<?php echo $j; ?>" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"]; ?>" /></td>
<td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"]; ?>" /></td>
<td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"]; ?>" /></td>

</tr>
<?php
}//}
?>
</table>



</div>
</div>




<div id="framecontentBottom">
<div class="innertube">
<div>
</br>
<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

<tr>
<td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal FROM tmp_articles WHERE session = '".$session."' ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$leTotal = number_format($liste_etu["leTotal"], 0, ',', ' ');
echo '<center> <table width="561" border="0">
<tr>
<td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
<td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield" value = "'.$leTotal.'"/>F</td>
</tr>
</table></center>';
}

?>
</td>

</tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Tu n'as rien d'autre qui s'affiche sur ta page ???

par exemple les lignes :
		// >>>>  ECHO DE LA REQUETE <<<<<<
		echo "<br>-----------------------------------------<br>";
		echo "<br><b> REQUETE : </b><br>".$sql."<br>";
		echo "-----------------------------------------<br>";
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Peux tu tester CE code :


<?php
session_start();

//---------------------------------------------------------------
// RECUPERATION DES VARIABLES 
//---------------------------------------------------------------
// ici... Toutes les récup des variables de type POST / SESSION ...etc..
$session = isset($_SESSION["pseudo"])? $_SESSION["pseudo"]:'';
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$articleRef=isset($_POST["articleRef"])?trim($_POST["articleRef"]):'error';
$articleQuant=isset($_POST["articleQuant"])?trim($_POST["articleQuant"]):'error';
$articlePU=isset($_POST["articlePU"])?trim($_POST["articlePU"]):'error';
//RECUPERATION DE L ID PRODUIT
$artVendu = isset($_POST["articleVendu"])?$_POST["articleVendu"]:'';
 $id_pd = explode("/",$artVendu);
 $id_prod = $id_pd[1];
 $articleVendu = $id_pd[0];

if (isset($_POST["submit"])) {
 
 //RECUPERATION DES DONNES DANS TMP_ARTICLE

 $sql = "SELECT * FROM tmp_articles 
         WHERE session = '".$session."' 
     order by id_art";
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
 $nbre = mysql_num_rows($req);
 echo "<br> Nombre de lignes : ".$nbre."<br>";  
   if($nbre !=0){
     $r=0;
     while($row  = mysql_fetch_assoc($req)){
   $r++;
   echo ">> Row => ".$r."<br>";
   print_r($row);
   echo "<br>*************************<br>"; 
   //INSERTION DES VALEURS DANS LA TABLE ARTICLES
  $sql2 = "INSERT INTO articles
      (
      dateArt
      ,articleVendu
      ,articleRef
      ,articleQuant
      ,articlePU
      ,id
      ,id_prod,session
      )    
    VALUES(
      NOW()
      ,'".$row["articleVendu"]."'
      ,'".$row["articleRef"]."'
      ,'".$row["articleQuant"]."'
      ,'".$row["articlePU"]."'
      ,'".$row["id"]."'
      ,'".$row["id_prod"]."'
      ,'$pseudo'
    )";
  // >>>>  ECHO DE LA REQUETE <<<<<<
  echo "<br>-----------------------------------------<br>";
  echo "<br><b> REQUETE : </b><br>".$sql."<br>";
  echo "-----------------------------------------<br>";

  // EXECUTION DE LA REQUETE 
  $r = mysql_query($sql2);
    if($r){
    echo "<br><h2> Insertion OK</h2><br>";
   }else{
     echo "<br><h2> Insertion KO</h2><br>";
    echo "<br><b> => Requête : </b><br>".$sql2."<br>";
    echo " Error : ".mysql_error()."<br>";
   }
   
  }// fin du While
 } // Fin du IF($nbre !=0)
} //Fin du ID(isset($_POST["submit"]))
?>

<!--Force IE6 into quirks mode with this comment tag-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dynamic Drive: CSS Top and Bottom Frames Layout</title>
</head>
<body>
 <div id="framecontentTop">
  <div class="innertube">
   <h1 style=" color:#400000">ARTICLES SAISIS</h1>
   <h3></h3>
  </div>
 </div>
 <div id="maincontent">
  <div class="innertube">
  <form action="" method="post">
   <table width="960" border="0">
   <tr>
    <td width="192">ARTICLES VENDUS</td>
    <td width="137"><span class="Style3">REFERENCE</span></td>
    <td width="148"><span class="Style3">QUANTITE</span></td>
    <td width="141"><span class="Style3">(PRIX U)</span></td>
    <td width="76"></td>
    <td width="80"></td>

    </tr>
    <?php
    $session = $_SESSION["pseudo"]; 
    $sql = "SELECT *
        FROM tmp_articles
        WHERE session = '".$session."' 
      order by id_art ";
     $q = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
    while($rows  = mysql_fetch_assoc($q)){
     
   ?>
   <tr>
    <td><input name="articleVendu<?php echo $j;  ?>" type="text" style="width:160px;background-color:#E5E5E5;" size="15" value="<?php echo $rows["articleVendu"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleRef" value="<?php echo $rows["articleRef"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center" name="articleQuant" value="<?php echo $rows["articleQuant"];  ?>" /></td>
    <td><input type="text" style="width:100px;background-color:#E5E5E5; text-align:center " name="articlePU" value="<?php echo $rows["articlePU"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5 ; text-align:center" name="id" value="<?php echo $rows["id"];  ?>" /></td>
    <td><input type="text" style="width:45px;background-color:#E5E5E5; text-align:center " name="id_prod" value="<?php echo $rows["id_prod"];  ?>" /></td>
   
   </tr>
  <?php
  }//}
  ?>
   </table>
  </div>
 </div>




<div id="framecontentBottom">
<div class="innertube">
<div>
</br>
<table width="200" border="0" style="position:absolute; top:5px; left:500px; color:#400000">

  <tr>
    <td>
<?php
$sql = "SELECT SUM(articleQuant * articlePU) AS leTotal 
     FROM tmp_articles 
     WHERE session = '".$session."'  ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
 $leTotal = number_format($liste_etu["leTotal"], 0, ',', ' '); 
echo '<center> <table width="561" border="0">
  <tr>
    <td width="238" style=" color:#400000">MONTANT TOTAL A PAYER </td>
    <td bgcolor="#CCCCCC" width="307"><input type="text" name="textfield"  value = "'.$leTotal.'"/>F</td>
  </tr>
</table></center>';
}

?>
    </td>

  </tr>
</table>

</div>
</br></br>
<h3><input type="submit" name="submit" id="submit" value="FACTURER" /></h3>

</div>
</div>
</form>
</body>
</html>



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
oui ça marche . vraiment qu'allais-je devenir sans toi . merci une fois de plus
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
qu'allais-je devenir sans toi
Un mec courageux qui aurait fini par trouver ^^
Messages postés
32912
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2021
350
Bonjour,
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane