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 :

requete ok mais pas d'affichage


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut requete ok mais pas d'affichage
    bonjour,

    j'ai un soucis avec de requete. voici mes tables
    abonne(id,nom,prenom,urlphoto)
    parrainage(idparrain,idfilleul,datedeparrainage)

    parrainage.idparrain et parrainage.idfilleul sont des clés étrangère de la table abonne.

    ma requete a pour but de trouver le parrain d'un abonne, voici la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne, email_abonne
    FROM abonne, parrainage
    WHERE id_abonne = idparrain_parrainage
    AND idfilleul_parrainage = 2
    lorsque je m'en sers dans le requeteur PHPmyadmin, j'obtien le résultat voulu mais lorsque je fais le necessaire sur les page php, ca passe pas bien que ce ne soit pas la première requete que j'exécute.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $requete = "SELECT id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne, email_abonne
    FROM abonne, parrainage
    WHERE id_abonne = idparrain_parrainage
    AND idfilleul_parrainage = 2";
     
    $resultset = mysql_query($requete);
    echo "nb de ligne :".mysql_num_rows($resultset); //affichage "nb de ligne :0"
    $unabonne = mysql_fetch_array($resultset,MYSQL_BOTH);
    echo $unabonne['nom_abonne']; //affichage " "
    je comprend pas cette incohérence entre le requeteur de PHPmyAdmin et mes pages de code.

    merci pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    moi j'ai toujours ecris ca a change ou bien ??

  3. #3
    Invité
    Invité(e)
    Par défaut
    si ça changé j'etais pas au courant
    pour moi c tjs abonne.id et parrainage.idparrain et parrainage.idfilleul

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    ah non rien à voir. c'est ma faute. pour être exact, la description de mes tables, c'est :

    abonne(id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne)
    parrainage(idparrain_parrainage, idfilleul_parrainage, datedeparrainage_parrainage)

    désolé. dans ce cas, ca fait

  5. #5
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Citation Envoyé par Zen_Fou
    ah non rien à voir. c'est ma faute. pour être exact, la description de mes tables, c'est :

    abonne(id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne)
    parrainage(idparrain_parrainage, idfilleul_parrainage, datedeparrainage_parrainage)

    désolé. dans ce cas, ca fait
    oki, essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    idfilleul_parrainage = '2'

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    idfilleul_parrainage = '2'
    ca passe pas

  7. #7
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    AHHHHHHHHHHH
    a la fin de ta requete SQL, il te faut un ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $requete = "SELECT id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne, email_abonne
    FROM abonne, parrainage
    WHERE id_abonne = idparrain_parrainage
    AND idfilleul_parrainage = '2' ; ";

  8. #8
    Invité
    Invité(e)
    Par défaut
    non pas obligatoirement le point virgule en php
    es tu sur le que le mysql_num_rows te renvoit 0?

  9. #9
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    la requete avec le " ; " ne passe pas non plus mais le "; " meme si je ne le mets pas, bien souvent, ca passe aussi bien dans le requeteur sur dans les pages de code.

    le code que je vous ai donné n'est qu'un détail. j'utilise du PHP orienté objet, des templates et aussi le design pattern MVC.

    c'est pour ca que c'est pas aussi simple que ca et le résultat voulu est visible que par mail. le but est de remplacer des tag, style "&nomduparrain&" par $parrain['nom_abonne'] dans le mail.

    bon je vai tester autrement. merci quand meme

  10. #10
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    alors fait un et sinon mets ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $unabonne = mysql_fetch_array($resultset);
    et fais un echo de ta requete SQL, pour voir si elle est bien construite ...

  11. #11
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Le point-virgule à la fin de la requête est inutile.

    Moi aussi j'aurais parié sur un problème de quotes mais c'est pas ça apparament...

    Au bout de ton mysql_query rajoute "or die(mysql_error);"

  12. #12
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Citation Envoyé par JWhite
    rajoute "or die(mysql_error());"
    sinon ca marche pas, non ?? (et en retard )

  13. #13
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par Maxoo
    sinon ca marche pas, non ?? (et en retard )
    Oui merci Maxoo

  14. #14
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    alors fait un
    Code :
    echo mysql_error();et sinon mets ca :

    Code :
    $unabonne = mysql_fetch_array($resultset);et fais un echo de ta requete SQL, pour voir si elle est bien construite ...
    sur mes DataAccesObject, je fais
    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
     
    AbonneDAO{
     
     
     
    var $GetParrainDeAbonneStatement = "
                 SELECT id_abonne, nom_abonne, prenom_abonne, urlphoto_abonne, email_abonne
                 FROM abonne A, parrainage P
                 WHERE A.id_abonne = P.idparrain_parrainage
                 AND P.idfilleul_parrainage = ";
     
     
    function AbonneDAO(){}
     
     
       function getParrainDeAbonne($idabonne){
          $this->GetParrainDeAbonneStatement.= " ' " .$idabonne . " ' ; ";
          $resultset = mysql_query($this->GetParrainDeAbonneStatement)
              or die ("erreur sql" . mysql_error() );
          $parrain = mysql_fetch_array($resultset,MYSQL_BOTH);
          return $parrain;
       }
     
    }
    j'exploite la variable "$parrain" en fesant sur une autre page avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    include_once("../persistence/AbonneDAO.php");
     
    $id = 4; //exemple
     
    $adao = AbonneDAO();
    $unparrain = $adao->getParrainDeAbonne($id)// on cherche le parrain de $id qui est l'abonne 3 par exemple
    j'ai retourné le résultat de la requete pour voir si la fonction a bien composé la requete mais rien. et la variable $unparrain est vide alors que la requete soit bonne pour le requeteur de PHPmyAdmin


  15. #15
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    et sans le MYSQL BOTH ??

  16. #16
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    et sans le MYSQL BOTH ??
    arf ca passe pas quand meme. tout une journée dessus. j'en peux plus.

    merci à tout ceux qui m'ont aidé.

  17. #17
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Citation Envoyé par Zen_Fou
    arf ca passe pas quand meme. tout une journée dessus. j'en peux plus.

    merci à tout ceux qui m'ont aidé.
    tu as trouve ??

    je pige pas ...

  18. #18
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut
    non j'ai pas trouvé. je vai modifier mon code et tenter de voir si je peux pas faire plus simple.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/06/2010, 10h16
  2. Pas d'erreur, mais pas d'affichage
    Par FotoXe33 dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2009, 12h54
  3. [W3C] Validation w3c ok mais pas d'affichage correct en local
    Par dragonno dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/02/2009, 22h10
  4. [MySQL] requete simple mais pas d'affichage
    Par herve911 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/02/2008, 22h03
  5. requete selection mais pas comme les autres
    Par adil_math2006 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2007, 13h44

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