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. 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.


    0
    1. 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é. 

      0
      1. Modérateur

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

        Il suffit donc de les concaténer.

        0
    2. 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.

      0
      1. Modérateur
        $toto = $truc . "|" . $machin;
        0
    3. 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

      0
      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.

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

        0
    4. 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;
      0
      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 )

        0
      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

        0
      3. Modérateur
        @tichritophe

        Au fait, tu peux remplacer 

        $valeur=$valeur.$new_valeur;

        par

        $valeur .= $new_valeur;
        0