Impossible de rentrer dans mon foreach

Résolu
Azax -  
 Azax -
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   Statut Membre Dernière intervention   15
 
À quoi il sert ton
break;  



dans
print_r($req);break; 



c'est la cause selon moi
1
Azax
 
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   Statut Membre Dernière intervention   15
 
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
Azax
 
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