Comment stocker un while dans une variable

Bonjour,

je suis novice comme vous le savez peut etre et je suis face a une petite impasse.

J'affiche actuellement sur une page la réponse d'un while qui fonctionne parfaitement

while ($donnees2 = $reponse3->fetch())

{

$donnetab1=$donnees2['Nom_Produit'];
$donnetab2=$donnees2['Quantite_produit'];
$donnetab3=number_format($donnees2['montanthtesd'],2);
$montanttotal=($montanttotal+$donnetab3);
echo $donnetab1; echo'   |   Quantité X'; echo $donnetab2;  echo'   |   Montant : '; echo $donnetab3; echo'€ HT';  echo'<br/>';	
                                       } 

il m'affiche donc:

GF-BABYFOOTHUMAINSANGLES | Quantité X1 | Montant : 146.25€ HT
GF-WIPEOUTFOOT | Quantité X1 | Montant : 131.25€ HT

Pourriez-vous me dire comment je pourrai stocker se qu'il m'affiche dans une variable pour l'insérer dans ma base de donnée ?

En vous remerciant.
Windows / Chrome 109.0.0.0

5 réponses

  1. Je me repond a moi meme désolé j'ai trouvé mon erreur;

    $new_valeur="$donnetab1    |   Quantité X $donnetab2   |   Montant :  $donnetab3 € HT <br/>'";
    
    $valeur=$valeur.$new_valeur;
    1. Modérateur

      Ah oui, tu veux stocker toutes les lignes dans UNE seule ligne de ta table ?

      Moi perso, j'aurai fait une seconde table dans laquelle j'aurai stocker chaque données ligne par ligne.. ( et une colonne par champ à stocker).

      cela facilitera l'utilisation ensuite de ces données ( comme faire des requêtes dessus par exemple...)

      Je suppose que tu essais de faire une gestion de commande ...

      Donc moi, je partirait sur une table "commande" .. ( #id, date, id_client ... )

      Dans ce cas, ajoutes une table "commande_items" ( #id, id_commande, produit, quantite, montant )

    2. @jordane45

      Enfaite sur la page que je réalise la, je veux juste garder un historique du mail envoyé au client

      mais merci de l'idée

    3. Modérateur
      @tichritophe

      Au fait, tu peux remplacer 

      $valeur=$valeur.$new_valeur;

      par

      $valeur .= $new_valeur;
  2. Coucou je viens d'essayer, mais il ne me prend que le dernier enregistrement, pas tous les enregistrements

    du coup a la place d'enregistrer 

    GF-BABYFOOTHUMAINSANGLES | Quantité X1 | Montant : 146.25€ HT
    GF-WIPEOUTFOOT | Quantité X1 | Montant : 131.25€ HT

    il ne m'enregistre que

    GF-WIPEOUTFOOT | Quantité X1 | Montant : 131.25€ HT

    1. Modérateur

      Oui,

      Car tu dois faire ton enregistrement DANS ta boucle .. et non après.

      Sinon.. normal qu'il ne garde que le dernier.

    2. oui j'ai trouvé mon erreur merci beaucoup

  3. Oui cest bien ca. 

    Je vais essayer de me pencher vers ca alors.

    Merci beaucoup.

    Si a locaasion tu as un exemple je suis preneur sinon je cherche pas de soucis.

    1. Modérateur
      $toto = $truc . "|" . $machin;
  4. Merci jordane

    En gros j'aimerai  recuperer

    GF-BABYFOOTHUMAINSANGLES | Quantité X1 | Montant : 146.25€ HT
    GF-WIPEOUTFOOT | Quantité X1 | Montant : 131.25€ HT

    Pour le stocker dans une variable et ainsi linserer dans ma base mail colonne historique

    Ainsi je pourrai avoir en historique le mail envoyé. 

    1. Modérateur

      Donc tu veux insérer tout ça dans un seul champ de ta table ?

      Il suffit donc de les concaténer.

  5. Modérateur

    Bonjour

    Les données sont déjà dans des variables puisque tu les affiches.

    Le tout est de savoir maintenant quelle est la structure de ta base de données afin de savoir comment tu dois organiser ton code pour les stocker dedans.