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 :

recupération a partir de 3 tables tout ne remonte pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 28
    Points
    28
    Par défaut recupération a partir de 3 tables tout ne remonte pas
    bonjour a tous
    j’essaie de créer une page pour vérifier le contenue d'une page avant de la diffuser.
    je prends les informations sur 3 tables. la récupération se passe bien (aucun message d'erreur)
    cependant il ne m'affiche pas a partir de photo1. je vois photo0, titre0 et rien derrière.
    Est ce que la base de données peut limité le nombre de requête ?
    car même un echo sur photo1 juste pour voir la valeur ne donne rien
    d'avance merci.
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <?php 
    require('connect.php');
    mb_http_output("utf-8");
    //recuperation de l'id 
    $id = $_GET['log'];
     
    //recuperation des données
     
    $req = $bdd->prepare('SELECT * FROM creation,avatar_upload,upload WHERE id = \''.$id.'\' AND id = upload.compte AND upload.compte = avatar_upload.compte');
    $req->execute(array($_GET['mail_createur'],$_GET['nom'],$_GET['prenom'],$_GET['nom_f'],$_GET['surnom'],$_GET['ville'],$_GET['anno_n'],$_GET['anno_d'],$_GET['textsaisie'],$_GET['signature'],$_GET['avatar'],$_GET['titre0'],$_GET['photo0'],$_GET['titre1'],$_GET['photo1'],$_GET['titre2'],$_GET['photo2'],$_GET['titre3'],$_GET['photo3'],$_GET['titre4'],$_GET['photo4'],$_GET['titre5'],$_GET['photo5'],$_GET['titre6'],$_GET['photo6'],$_GET['titre7'],$_GET['photo7'],$_GET['titre8'],$_GET['photo8'],$_GET['titre9'],$_GET['photo9'],$_GET['titre10'],$_GET['photo10'],$_GET['titre11'],$_GET['photo11'],$_GET['titre12'],$_GET['photo12'],$_GET['titre13'],$_GET['photo13'],$_GET['titre14'],$_GET['photo14'],$_GET['titre15'],$_GET['photo15'],$_GET['titre16'],$_GET['photo16'],$_GET['titre17'],$_GET['photo17'],$_GET['titre18'],$_GET['photo18'],$_GET['titre19'],$_GET['photo19']));
    $donnees = $req->fetch();
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
     <link rel="stylesheet" href="style.css" />
     <link rel="shortcut icon" href="images/logo.ico" type="image/x-icon" />
     </head>
    <body id="validation">
    <header>
    <div id="titre_principal">
    <img src="images/titre.png" alt="titre" id="titre"/>
    </div>
    </header> 
     
    <p> <a id="gauche">Nom :  <? echo $donnees['nom'] ?> </a>    <a id="droite"> Nom 2
    <p> <a id="gauche">Prenom :  <? echo $donnees['prenom'] ?>   </a>    <a id="droite">pseudo :  <? echo $donnees['surnom'] ?></a></p>
     
    <p> <a id="gauche">Ville :  <? echo $donnees['ville'] ?>   </a>    <a id="droite">pays :  <? echo $donnees['pays'] ?></a></p>
     
    <p>Dates :  <? echo $donnees['anno_n'] ?> -  <? echo $donnees['anno_d'] ?></p>
     
    <p>Texte : <? echo $donnees['textsaisie'] ?></p>
     
    <p>Signature : <? echo $donnees['signature'] ?></p>
     
    <img src="photos/mini/<?php echo $donnees['avatar']?>" />
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo0']?>" />titre : <? echo $donnees['titre0'] ?></a>    
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo1']?>" />titre : <? echo $donnees['titre1'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo2']?>" />titre : <? echo $donnees['titre2'] ?></a>    
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo3']?>" />titre : <? echo $donnees['titre3'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo4']?>" />titre : <? echo $donnees['titre4'] ?></a>    
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo5']?>" />titre : <? echo $donnees['titre5'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo6']?>" />titre : <? echo $donnees['titre6'] ?></a>   
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo7']?>" />titre : <? echo $donnees['titre7'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo8']?>" />titre : <? echo $donnees['titre8'] ?></a> 
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo9']?>" />titre : <? echo $donnees['titre9'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo10']?>" />titre : <? echo $donnees['titre10'] ?></a> 
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo11']?>" />titre : <? echo $donnees['titre11'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo12']?>" />titre : <? echo $donnees['titre12'] ?></a> 
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo13']?>" />titre : <? echo $donnees['titre13'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo14']?>" />titre : <? echo $donnees['titre14'] ?></a> 
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo15']?>" />titre : <? echo $donnees['titre15'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo16']?>" />titre : <? echo $donnees['titre16'] ?></a> 
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo17']?>" />titre : <? echo $donnees['titre17'] ?></a></p>
     
    <p> <a id="gauche"><img src="photos/mini/<?php echo $donnees['photo18']?>" />titre : <? echo $donnees['titre18'] ?></a>  
        <a id="droite"><img src="photos/mini/<?php echo $donnees['photo19']?>" />titre : <? echo $donnees['titre19'] ?></a></p>
     
     
    </body>
    </html>

  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
    A quoi correspondent tous ses paramètres dans ton execute ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 28
    Points
    28
    Par défaut
    ce sont les paramètres qui ont été posté par les utilisateurs et que je veux vérifier.
    les paramètres nom,nom_f,prénom,surnom,ville,pays,anno_n,anno_d,textsaisie
    et signature viennent de la table "creation".
    le paramètre avatar vient de la table "avatar_upload"
    les parametres photo0,titre0,titre1,photo1.....titre19,photo19 viennent de la table "upload".

    est bien répondu a ta question?

    merci

    edit : je crois avoir compris le sens de ta question...
    en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array());
    suffit emplement

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    C'est un peu tard pour cette remarque et complétement hors sujet, mais tu as vraiment une table avec 19 champs photo? pas de relation 1-n? si je veux une vingtième photo?

    Sinon, il me semble de mémoire qu'execute sert a passer des paramètres a ta requete, et cette requete n'utilise que le paramètre $id qui est lui meme deja renseigné dans la chaine textuelle de la requete, donc pourquoi tu passes ces paramètres GET?
    Edit: ah bah ducoup avec ton edit ma remarque ne sert plus \o/

    L'erreur se situe peut être au niveau de ta jointure id = upload.compte AND upload.compte = avatar_upload.compte
    cela équivaut a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = upload.compte AND id = avatar_upload.compte
    ne serait ce pas quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = upload.compte AND upload.id = avatar_upload.compte
    je dit ca un peu a l'aveuglette sans connaitre ton modele de données

  5. #5
    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
    suffit emplement
    Non, tu devrais avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $req = $bdd->prepare('SELECT * FROM creation
    JOIN avatar_upload ON id = upload.compte
    JOIN upload ON upload.compte = avatar_upload.compte
    WHERE id = :id');
    $req->execute(array(':id'=>$_GET['log']));
    $donnees = $req->fetch();
    (j'ai mis les jointures à vu d'oeil)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 28
    Points
    28
    Par défaut
    je viens de mettre ton code sabotage.
    le résultat est identique.
    il m'affiche correctement les élément de la table création,avatar_upload mais que 2 champs de la table upload a savoir photo0 et titre0
    comment puis je vérifier la valeur mis a part le echo pour savoir ce qu'il trouve dans le champs photo1 et titre1 de la table upload

    Edit
    Citation Envoyé par gototog Voir le message
    mais tu as vraiment une table avec 19 champs photo? pas de relation 1-n? si je veux une vingtième photo?
    oui j'ai vraiment une table avec 20 champs photo 19+ le 0 le nombre de photo et limité a 20 max via le formulaire.
    pour la relation 1-n je vais voir sur google car je ne connais pas.

    Re-edit :
    je viens de comprendre il y a une erreur sur mon insertion de la base de donnée. la requête est bonne.
    il me modifie le nom de la valeur de mes entrée c'est pour ça qu'il ne les trouve pas.
    un grand merci pour votre aide

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 23/06/2005, 17h41
  2. effacer une table toutes les nuits
    Par nako dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2005, 22h48
  3. Réponses: 4
    Dernier message: 02/05/2005, 21h25
  4. Réponses: 9
    Dernier message: 07/10/2004, 20h41
  5. [SUM] récuperer une quantite a partir de plusieurs table
    Par Snowballz dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 14/09/2004, 19h48

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