Impossible de rentrer dans mon foreach

Résolu/Fermé
Azax - 12 janv. 2011 à 13:00
 Azax - 12 janv. 2011 à 13:52
Tout d'abord bonjour,

je suis actuellement entrain de développer un intranet a travers un framework, copix 3.

Le code sera plus explicatif.


Code :
   function getMatriculeAv($num){
     $i=0;
     $tab = array();
     $req = _doQuery('Select MATRICULE from cartemulti Where BADGE ='.$num.';');
     print_r($req);break;
     foreach($req as $rep){
      $tab[$i][0] = $rep->MATRICULE;
      $i++;
      echo "pupuce";break;
     }
   }




le résultat du de la requête est le suivant.
Array ( [0] => stdClass Object ( [MATRICULE] => 10223 ) ).
Le problème étant que pour une raison obscure il ne veut pas rentrer dans mon foreach pour extraire mon resultat(10223).

Si quelqu'un peut m'expliquer je lui en serais reconnaissant. Je planche sur cette erreur depuis 9h ce matin :/

Merci d'avance


4 réponses

xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
Modifié par xamurai le 12/01/2011 à 13:16
À quoi il sert ton
break;  



dans
print_r($req);break; 



c'est la cause selon moi
1
Nono, le break était juste pour pouvoir avoir le résultat de mon $req, vu que je suis dans un framework je suis redirigé automatiquement et donc je dois utiliser le break.

Quand j'éxécute le scrip sans la ligne du print_r();break;
c'est pareil il ne passe pas dans le foreach.
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
12 janv. 2011 à 13:36
fait un echo
1) juste avant le foreach

2) un autre echo juste avant le $tab[$i][0] = $rep->MATRICULE;

et dis moi ce que tu observes
0
Avec cette structure il ne passait pas dans le foreach, donc les echo n'apparaissait pas.

Mais grâce a un collègue j'ai trouvé la solution.

Code :

1. function getMatriculeAv($num){
2. $tab = array();
3. $req = _doQuery('Select * from cartemulti Where BADGE ='.$num.';');
4.
5. if(count($req)>0){
6. foreach ($req as $i=>$repo){
7. $tab[$i][0] = $repo->MATRICULE;
8. }
9. } else{
10.
11. }
12.
13. return $tab;
14. }



Voila cela fonctionne.
Ce coup ci il passe bien dans ma boucle et je peux récupérer la valeur qui m'intéressais.

Merci a vous quand même pour vos réponses rapide.
0