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

Langage PHP Discussion :

Requête qui affiche une ligne de résultat en moins


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut Requête qui affiche une ligne de résultat en moins
    Bonjour tout le monde,

    j'aimerais savoir si vous voyez une erreur sur ma requête ou sur l'affichage en html (avec hyla template)? parce que sa fait 2 heures que je regarde mais je ne vois rien, ni comment ni pourquoi ma requête me retourne tout les résultat mai avec toujours un résultat en moins :

    ce que je voudrais :

    CATEGORIE 1
    sous cat 1
    sous cat 2
    sous cat 3
    …etc etc

    et ce que sa m' affiche actuellement :

    CATEGORIE 1
    sous cat 2
    sous cat 3
    ...etc etc

    Comme vous pouvez le voir sa commence a sous cat 2 au lieu de 1

    Voici le code php :

    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
    $CATEGORIE=NULL;
    $SQLFORUM=$db->prepare('SELECT IdForum,NomCategorie,IdCategorie,NomForum FROM Categorie
        LEFT JOIN Forum ON IdForCat=IdCategorie');
        $SQLFORUM->execute();
    while($ResSQLFORUM=$SQLFORUM->fetch()){ 
        $tpl->setVar('Cat',$ResSQLFORUM['NomCategorie'].'<br>');
        if($CATEGORIE!=$ResSQLFORUM['NomCategorie']){
           $CATEGORIE=$ResSQLFORUM['NomCategorie'];
           $FORUM=$ResSQLFORUM['NomForum'];
           $tpl->setVar('For', $FORUM.'<br>');
           $tpl->render('linecat');  
        }
        if($FORUM!=$ResSQLFORUM['NomForum']){
            $FORUM=$ResSQLFORUM['NomForum'];
            $tpl->setVar('For', $FORUM.'<br>');
            $tpl->render('line');   
         }
    }
    et voici le code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <body>
     <!-- BEGIN line -->
        <!-- BEGIN linecat -->
        <strong>{$Cat}</strong>
                {$For}
        <!-- ELSE linecat -->            
                 {$For}
        <!-- END linecat -->
    <!-- END line -->
    </body>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que pendant ces deux heures tu as pu faire le debugage minium :
    - contrôler ta requête directement sur ta base de données
    - contrôle le contenu de chaque fetch()
    ?

    Au passage la preparation de la requête ne sert à rien puisque tu n'as pas de paramètres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    bonsoir sabotage,
    donc oui j' ai effectivement fait le test de ma requete directement sur la bdd tout fonctionne mais une
    c'est bizard qu'en passant par ma page le problème persiste

    pour ce qui est de la préparation je mettrais des paramètres par la suite comme par exemple pour la pagination

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour que ton systeme fonctionne il faut déjà que le retour de ta requête soit ordonné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $SQLFORUM=$db->prepare('SELECT IdForum,NomCategorie,IdCategorie,NomForum FROM Categorie
        LEFT JOIN Forum ON IdForCat=IdCategorie
        ORDER BY IdForum, IdCateg');
        $SQLFORUM->execute();
    Apres cela concerne Hyla, je ne peux pas trop t'aider dessus.

    Par ailleurs j'attire ton attention que si deux forums ont deux catégorie avec le même nom, cela peut poser des problèmes.
    C'est le déjà de travailler avec les libellé et pas avec les Ids.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    Bonjour sabotage,

    j'ai revu ma requête je l'ai ordonné et j'ai bien vérifier que les forum ou catégorie ne sont pas duplique,le problème persiste
    je ne sais vraiment pas d'ou ce problème provient je vais encore chercher pour voire, mai sa m'embête vraiment ce truque
    J'espere vraiment trouver la solution sur ce forum, en tout cas merci.

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2013, 16h54
  2. [AC-2010] Problème requête qui affiche toujours les lignes supprimées d'une tables
    Par Bou31 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/07/2013, 17h15
  3. Requête qui fait une somme par ligne
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/08/2006, 08h30
  4. [j3d] afficher une ligne qui point vers un objet
    Par guitalca dans le forum 3D
    Réponses: 1
    Dernier message: 06/03/2006, 21h44
  5. une requête qui selectionne la ligne max
    Par kuhnden dans le forum Access
    Réponses: 3
    Dernier message: 01/11/2005, 18h39

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