[RESOLU] Insérer éléments de tableau dans base de données.

Eléphant du PHP | 53 Messages

17 déc. 2024, 06:31

Bonjour.

Je tente de transférer les éléments d'un tableau (array) dans une base de données mais la requête transmet seulement le dernier élément. Je ne sais pas pourquoi.

Code : Tout sélectionner

<?php $tablo = array("B","D","E","N","H","I","J","M","T","N","S","E","O","P","Q","R","E","S","T","U","V","W","I","E","Y","A","B","D","E","F","G","A","$","H","T","I","E","L","N","O","P","R","E","S","U","V","A","D","E","I","L","M","O","E","K","R","T","U","A","I","N","E","O","R","S","T","U","L","A","I","N","O","$","R","E","S","M","U","X","L","E","C","A","I","N","O","R","G","F","S","L","T","E","U","A","C","I","A","E","Z","E","A"); foreach($tablo as $items){ echo $items; } $req = $bdd->query("INSERT INTO scrab (pseudo, tableau) VALUES ('Pierre', '$items')");
Pourtant quand je fais un 'echo' j'obtiens tous les éléments mais lorsque je regarde dans la base de données, seul le dernier élément apparaît dans la colonne tableau.

Après trois jours à me cogner la tête je sollicite votre éclairage.

Merci et bonne journée.
Pourquoi faire simple quand on peut faire compliqué ?

Mammouth du PHP | 2703 Messages

17 déc. 2024, 12:31

il faut exécuter la requête dans la boucle, pas après.

Eléphant du PHP | 53 Messages

17 déc. 2024, 16:03

Bonjour.

Merci pour votre réponse.
Vous avez raison sauf qu'à ce moment-là j'obtiens 102 entrées dans la base de données. Une pour chaque lettre.
Je vais faire d'autres tests.
Pourquoi faire simple quand on peut faire compliqué ?

Eléphant du PHP | 53 Messages

18 déc. 2024, 03:00

Hello

Il me semble que ce n'est pas possible avec cette méthode.
Je vais procéder autrement.

Merci.
Modifié en dernier par j_saisrien le 18 déc. 2024, 03:06, modifié 1 fois.
Pourquoi faire simple quand on peut faire compliqué ?

Mammouth du PHP | 2703 Messages

18 déc. 2024, 03:05

il faudrait nous dire ce que vous voulez obtenir exactement si 102 entrées dans la table n'est pas ce qui est attendu.

Eléphant du PHP | 53 Messages

19 déc. 2024, 02:51

Hello Or
Je réponds malgré que j'ai mis 'résolu'.
Je veux une seule entrée dans la base de données avec toutes les 102 lettres sur la même ligne.
Mais avec cette formule j'obtiens 102 entrées avec une lettre dans chaque entrée.
Ça prend beaucoup de place dans la base.
Bonne journée.
Pourquoi faire simple quand on peut faire compliqué ?

Mammouth du PHP | 2703 Messages

19 déc. 2024, 03:37


Eléphant du PHP | 53 Messages

19 déc. 2024, 03:57

Re-hello Or

Oui, ça fonctionne avec implode().
Merci bien et bonne fin de soirée.

Là c'est résolu.
Pourquoi faire simple quand on peut faire compliqué ?