IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Boucle ne fonctionne pas pourquoi ?


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut Boucle ne fonctionne pas pourquoi ?
    Bonjour

    Encore moi, mais j'ai un autre souci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function fille($iparent,$ienfant){
      $requete ='SELECT COUNT(id) as nenr FROM menug WHERE ID_parent='.$iparent.'AND id_enfants='.$ienfant;
      echo $requete; 
        global $db;
    	 $req = $db->query($requete);
         $data = $req->fetch();
    //	 $ienfant=$data['id_enfants'];
    	 if($ienfant==0){
    		   echo '<ul>'.$data['Titre'].'avec des enfants';
    	   }else{
    		   echo '<li>'.$data['Titre'].'</li>';
    		   }
       $req->closeCursor();		   
    }
    // Lecture des enregistrements
    	for($i=$parent;$i<=$nombre;$i++) {
    	$requete ='SELECT * FROM menug WHERE ID_parent='.$i;
    	$req = $db->query($requete);
       $data = $req->fetch();
       $Nbenfants = $data['nbenfants'];
       $enfants=$data['id_enfants'];
       if($Nbenfants ==0 ) {
     
    	   echo '<ul>'.$data['Titre'];
       }else {
    	   echo '<br/>Passer deux<br/>';
    	   $max=nbenregistrement($i);
    	   echo $max.' lu<br/>';
    	   for($j=0;$j==$max;$j++){
    		   echo $j.'dans la boucle';
    	   fille($i,$j);
    	   }
     
       };
       echo'</ul>';
       $req->closeCursor();}
    La boucle for ne tourne pas et ne fonctionne pas. Pourquoi la fonction fille et la boucle ne se lance pas.

    Merci

    Cordialement
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    $parent et $nombre n'existent pas
    il faut travailler avec le niveau d'erreur maximal

  3. #3
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    $parent est défini au départ
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     try {
    	   $options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
    	   $db= new PDO('mysql:host=localhost;dbname=tests','root','',$options);
    // echo '<p>connexion à la base de données</p>';
     
       }
       catch (Exeption $e) {
        die('erreur : '.$e->getMessage());   
    	}
    	$parent = 0;
     
    //Maximum des id parents
       $req = $db->query("SELECT max(ID_parent) as rparent FROM menug ");
       $data = $req->fetch();
       $nombre = $data['rparent'];
    //   echo '<p><h6>c\'est le nombre maximum : '.$nombre.'</p></h6>';
       $req->closeCursor();
     
    //Fonction enregisteement   
     function nbenregistrement($iparent) {
        $requete ='SELECT COUNT(id) as nenr FROM menug WHERE ID_parent='.$iparent;
        global $db;
       $req = $db->query($requete);
       $data = $req->fetch();
       $nEnr = $data['nenr'];
      // echo '<p><h5>Le nombre d\'enregistrement de la fonction est de : '.$nEnr.'</p></h5>';
       return($nEnr);
     
       $req->closeCursor();}
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  4. #4
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    Qu'est ce que tu entends par le nombre maximale d'erreur au départ ??

    Merci de tes lumières
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par BXDSPORT Voir le message
    Qu'est ce que tu entends par le nombre maximale d'erreur au départ ??

    Merci de tes lumières
    niveau d'erreur maximal

    ton error_reporting


    il faut aussi mettre ces variables en global

  6. #6
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    Si je comprend bien, il faut que je demande lors de la lecture de la base de données que les OPTIONS soit réglées au maximum plutôt qu'à l'exception.
    Si je te suis...
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par BXDSPORT Voir le message
    Si je comprend bien, il faut que je demande lors de la lecture de la base de données que les OPTIONS soit réglées au maximum plutôt qu'à l'exception.
    Si je te suis...
    non rien a voir avec la base, si ton PHP est réglé pour n'afficher aucune erreur comme tu veux savoir ou elles se trouvent ? quand tu développes le niveau dois être au maximum

  8. #8
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    Explique moi lesquels variables tu mettrais en global et ta procédure afin que je puisse m'en inspirer pour avancer.
    Tes remarques sont très intéressantes.

    Merci
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par BXDSPORT Voir le message
    Explique moi lesquels variables tu mettrais en global et ta procédure afin que je puisse m'en inspirer pour avancer.
    Tes remarques sont très intéressantes.

    Merci
    quand tes dans un function t'as pas acces au variable qui sont en dehors de ces functions, si tu veux y avoir acces il faut les mettre en global comem tu l'as fait pour $db il faut le faire pour $parent et $nombre

Discussions similaires

  1. [Débutant] Pourquoi mes mini boucles ne fonctionnent pas ?
    Par Attila54 dans le forum VB.NET
    Réponses: 7
    Dernier message: 09/10/2012, 11h55
  2. La boucle ne fonctionne pas sur un fichier flash
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/07/2008, 19h01
  3. [SQL_SERVER_2K] mon truncate ne fonctionne pas, pourquoi ?
    Par MeHo_ dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/03/2008, 20h19
  4. boucle ne fonctionne pas
    Par fabrice44 dans le forum Général VBA
    Réponses: 13
    Dernier message: 24/04/2007, 14h33
  5. ma boucle ne fonctionne pas
    Par mélo6 dans le forum ASP
    Réponses: 2
    Dernier message: 17/06/2005, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo