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 :

Jointure SQL/Php


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Par défaut Jointure SQL/Php
    Salut a tous
    voila j'expose mon probleme :
    je suis webmaster d'un site , de rap ( mon site )

    j'ai creer un espace membre en php

    avec un table membre
    avec les champs
    id
    login
    md5_pass
    prenom
    age
    ville
    avatar
    messageperso

    /------------ Table : membre ---------/
    id----login--------md5_pass-----prenom-----age-----ville----avatar----messageperso

    je travaille en se moment sur une messagerie interne

    avec la table messages
    avec les champs:
    id
    id_expediteur
    id_destinataire
    date
    titre
    message


    /------------ Table : messages ---------/
    id----id_expediteur--------id_destinataire-----date-----titre-----message


    donc je dois faire une jointure pour qu'il affiche les deux table sans probleme pour qu'il affiche :



    //////////////////////////////////////
    // image avatar du mmebre //
    /////////////////////////////////////
    Modifier mon profil
    vous avez pas de message (ou si il a un message ) vous avez xx messages




    Mon 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
    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
     
    <?php
     
    session_start();  
    // vérifie toujours qu'il s'agit d'un membre qui est connecté  
    if (!isset($_SESSION['login'])) { 
     // si ce n'est pas le cas, on le redirige vers l'accueil 
       header ('Location: index.php'); 
      exit();  
    }  
    ?>
     
     
    <html>
    <head>
    <title>Espace membre</title>
    </head>
     
    <body>
    Bienvenue <?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?><br />
    <?php
     
    $base = mysql_connect ('*********', '*********', '*********');  
    mysql_select_db ('************', $base);  
     
    // on prépare une requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté  
     
    $sql = 
    'SELECT  
                   titre, 
                   date, 
                   membre.id, 
                   membre.avatar,
                   membre.login as expediteur, 
                   messages.id as id_message 
    
    FROM        messages, 
                   membre 
    
    WHERE      id_destinataire="'.$_SESSION['id'].'" 
    
    AND          id_expediteur=membre.id 
    
    ORDER BY date  DESC';  
    // lancement de la requete SQL  
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
    $nb = mysql_num_rows($req);  
     
      while ($data = mysql_fetch_array($req)) { 
      echo '<img src="images/avatar/' , data['avatar'] , '.jpg" width="100" height="100" border="0" /><br><br>';
    echo '<a href="profil.php?id=' , $data['id'] ,' ">Modifier mon profil</a>';  
    }  
     
    if (
    $nb == 0) { 
       echo 'Vous n\'avez aucun message.<br>';  
     
    }  
    else { 
       // si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message 
       while ($data = mysql_fetch_array($req)) { 
          echo '<a href="lire.php?id_message=' , $data['id'] , '">' , $data['titre'] , '</a>'; 
       }  
    }  
    mysql_free_result($req);  
    mysql_close();  
    ?>
     
    <br /><a href="envoyer.php">Envoyer un message</a>
    <br /><br /><a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>
    Merci de m'aider

  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
    Par défaut
    Si tu veux recuperer les infos du membre et la liste de ses messages, il faut faire 2 requetes.
    Il n'y aurait en effet aucune logique a joindre l'avatar et le titre d'un message par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Avec quelque chose comme ça :

    SELECT COUNT(messages.id) FROM messages
    INNER JOIN membre ON messages.id_destinataire = membre.id
    WHERE membre.id = tonIDmembre

    ou tonIDmembre est l'ID d'un des membre.

    Cette requête devrait (normalement) permettre de compter le nombre de messages pour un ID membre donné.

Discussions similaires

  1. jointure (sql) dans php
    Par geeksDeve dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2012, 11h14
  2. [SQL] problème de variable tableau PHP contenant les données d'une jointure SQL
    Par Schpountz42 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2007, 05h59
  3. [SQL] Optimiser une jointure dans PHP
    Par Invité dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 11/08/2006, 17h56
  4. Réponses: 4
    Dernier message: 11/10/2005, 10h17
  5. [SQL+php] requete a trouver
    Par theclear dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/10/2004, 09h50

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