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

  1. 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
  2. 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
  3. 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
  4. 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