Comment stocker un while dans une variable

tichritophe -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -

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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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
Tichritophe
 

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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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

Il suffit donc de les concaténer.

0
Tichritophe
 

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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
$toto = $truc . "|" . $machin;
0
tichritophe
 

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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Oui,

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

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

0
tichritophe
 

oui j'ai trouvé mon erreur merci beaucoup

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tichritophe
 

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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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
tichritophe > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 

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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > tichritophe
 

Au fait, tu peux remplacer 

$valeur=$valeur.$new_valeur;

par

$valeur .= $new_valeur;
0