[RESOLU] Stocker les retours d'une requête qui est à l'intérieur d'un foreach

Eléphant du PHP | 53 Messages

23 sept. 2016, 11:53

Bonjour,

Je suis actuellement en train de travailler sur un site web / application.

Je bloque sur une partie, il s'agit de stocker les valeurs retournée par la requete dans le foreach.

J'y arrive très bien pour une seule, mais pour plusieurs ça ne fonctionne pas. Je n'obtiens que la première valeur voulue puis le stockage s'arrête. (je stocke dans $final)

Le code :
foreach ($res as $cle => $re) {
  $requete = $DATABASE->prepare('SELECT nom FROM machine WHERE id = ?');
  $requete->execute(array($re[0]));
  $final = $requete->fetchAll();
}
Mon $final contient :

array (size=1)
0 =>
array (size=2)
'nom' => string 'Volvo L120E' (length=11)
0 => string 'Volvo L120E' (length=11)

Le problème est celui que j'ai décrit au dessus du code, je ne récupère qu'une machine, or il y a deux associations entre l'id voulu et les machines. Je devrais donc trouver deux machines dans mon $final. Or il n'y en a qu'une. J'ai essayé :

$final = $final + $requete->fetchAll()

et aussi :

$final = [];
$final1 = $requete6>fetchAll();
$final = array_merge($final, $final1);

. Mais sans résultat.

Si quelqu'un peut m'aider :)

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

23 sept. 2016, 12:24

tu as une solutions dans ton post précendent qui à l'avantage d'être plus performant ;)

la clause SQL In c'est pratique ;)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 53 Messages

23 sept. 2016, 13:09

Okay merci ! Je voulais rester sur ma méthode mais je vais tenter la tienne :)

Eléphant du PHP | 53 Messages

23 sept. 2016, 13:13

Ca marche nickel parfait ! Merci mille fois Moogli ! !

:)

Bonne fin de journée et bon week end !