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 :

requette preparé n'affichant que la premiere lettre des categories [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut requette preparé n'affichant que la premiere lettre des categories
    bonsoir a tous,

    me mettant a la requette preparer j'ai decidé de modiffié toute mes pages mai la je rencontre un probleme minim que je n'arrive pas a resoudre malgres differentes lectures de forum et manuel sur la requette préparer donc le probleme est le suivant :

    avant de commencer je precise que ce code fonctionne tres bien avec une requette simple mais dans le cas d'une requette preparé il fonctionne aussi mis a par l'afichage des noms des categories sa ne m'affiche que la premiere lettre des noms.

    requette :
    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
    $sth = $dbh->prepare('SELECT NomForum, DescriptifForum, LogoForum, NomCategorie,IdForCat,IdCategorie
    					 FROM categorie
    					 LEFT JOIN forum ON IdForCat=IdCategorie GROUP BY IdForum');
     
     
     
     
    $sth->bindValue(':NomCategorie', PDO::PARAM_STR);
    $sth->bindValue(':NomForum',  PDO::PARAM_STR);
    $sth->execute();                      
     
    while($row = $sth->fetch(PDO::FETCH_ASSOC)){
    $categorie = $row['NomCategorie'];
    $tableau[$categorie][] = $row;
    }
    et la l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach($tableau as $NomCategorie=>$valeur){
     
    echo $NomCategorie['NomCategorie'];
     
    foreach($valeur as $souscategorie){
     
    echo $souscategorie['NomForum'];
     
    }
    }

    pouriez vous me dir si il y a une erreur dans ce code pour une requette preparé?


    je vous remerci d'avance

  2. #2
    Expert confirmé

    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
    Par défaut
    fais un SUBSTR sur la première colonne, et utilise PDO::FETCH_GROUP, t'aura même pas besoin de faire de foreach
    par contre ton bindvalue n'est pas bon, ca prendre 3 paramètres regarde la doc

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    fais un SUBSTR sur la première colonne, et utilise PDO::FETCH_GROUP, t'aura même pas besoin de faire de foreach
    par contre ton bindvalue n'est pas bon, ca prendre 3 paramètres regarde la doc

    merci pour ta reponse je vai tester et pour ce qui est des trois parametre je vien d'y jeter un oeuil parcontre aucune idee de ce que je doi mettre pasque dans leur exemple il mette une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    /* Exécute une requête préparée en associant des variables PHP */
    $calories = 150;
    $couleur = 'rouge';
    $sth = $dbh->prepare('SELECT nom, couleur, calories
        FROM fruit
        WHERE calories < :calories AND couleur = :couleur');
    $sth->bindValue(':calories', $calories, PDO::PARAM_INT);
    $sth->bindValue(':couleur', $couleur, PDO::PARAM_STR);
    $sth->execute();
    ?>
    hors moi je n'utilise pas de variable alor la je ne sai pas dutout ce que je dois mettre

  4. #4
    Expert confirmé

    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
    Par défaut
    si t'as pas de valeur a mettre ca ne sert a rien de faire une requete preparée, utilise direct PDO->query

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    si t'as pas de valeur a mettre ca ne sert a rien de faire une requete preparée, utilise direct PDO->query
    ok stealth35 merci du conseil je vais tester tous ca

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    apres multiple teste le probleme ne change pas meme avec un PDO->query
    je comprend pas le probleme

    mai ce que je trouve bizar c'est que quand je fait une requette simple de base sa marche nikel

    le probleme viendrai t-il de PDO->query ? ou de la boucle foreach?
    je suis coincé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/08/2011, 13h06
  2. [MySQL] PHP n'affiche que le premier mot
    Par skins dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 13/04/2010, 13h51
  3. [AC-2003] n'afficher que le premier intervalle d'un regroupement
    Par CassElilot dans le forum IHM
    Réponses: 2
    Dernier message: 24/03/2010, 16h44
  4. [WD14] Libellé n'affiche que la première lettre
    Par odoine dans le forum WinDev
    Réponses: 7
    Dernier message: 01/09/2009, 18h37
  5. [MySQL] Ma textbox n'affiche que le premier mot.
    Par SweetLeaf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/07/2008, 17h06

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