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 :

Séparer les membres connectés et non connectés en 2 tableaux


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    je_suis_tres_gentil
    Invité(e)
    Par défaut Séparer les membres connectés et non connectés en 2 tableaux
    bonjour, j'ai un tableau avec listes des membres

    donc voilà le codes

    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
    <?php
    //Requête
     
    $requete2 = mysql_query('SELECT membre_id, membre_pseudo, membre_inscrit, membre_post, membre_derniere_visite, online_id
    FROM forum_membres
    LEFT JOIN forum_whosonline ON online_id = membre_id
    ORDER BY '.$sort.', online_id '.$tri.'
    LIMIT ' . $premier . ', ' . $MembreParPage .'')
    or die (mysql_error());
     
     
    if (mysql_num_rows($requete2) > 0)
    {
    ?>
           <table>
           <tr>
           <th class="pseudo"><strong>Pseudo</strong></th>             
           <th class="posts"><strong>Messages</strong></th>
           <th class="inscrit"><strong>Inscrit depuis le</strong></th>
           <th class="derniere_visite"><strong>Dernière visite</strong></th>                       
           <th><strong>Connecté</strong></th>             
     
           </tr>
           <?php
           //On lance la boucle
     
           while ($data2 = mysql_fetch_assoc($requete2))
           {
           echo '<tr><td>
           <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
           '.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></td>
           <td>'.$data2['membre_post'].'</td>
           <td>'.date('d/m/Y',$data2['membre_inscrit']).'</td>
           <td>'.date('d/m/Y',$data2['membre_derniere_visite']).'</td>';
             if (empty($data2['online_id'])) echo '<td>non</td>'; 
           else echo '<td>oui</td>';
           echo '</tr>';
           }
           ?>
           </table>
    et moi j'aimerais faire faire ce même tableau mais en séparant les oui et non

    mais je sais le principe mais ça n'a pas marché vraimment

    donc j'ai éssaye de mettre en sous de ma requette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ($data2['online_id']==1)
    {
    echo '<td>non</td>';
    }
    else 
     
           		if ($data2['online_id']==2)
    {
    echo '<td>oui</td>';
    }
    et dans le tableau j'ai remis le meme code

    mais ça n'a pas voulu

    car j'aimerais bien faire un tableau pour les non connecté et un autre avec les connecté

    donc c'est pour celà j'ai mis le 1 pour non et 2 pour le oui

    ça n'a pas voulu marché et les membres nn connecté reste toujour dans le tableau des membres connecté

    si quelqu'un à une idée pour faire 2 tableaux et séparé les connecté et les non connecté

    ca seras sympas de votre part de m'aidé

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 327
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 327
    Billets dans le blog
    17
    Par défaut
    Tu affiches directement les résultats de ta requête = ton code n'est pas souple.
    Ce que je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sql = 'SELECT...' ;
    $rs = mysql_query($sql) ;
    $online = array( ) ; // Tableau PHP contenant les membres online
    $offline = array( ) ; // Tableau PHP contenant les membres offline
    while ( $tuple = mysql_fetch_object($rs) ) {
        if ( $tuple est l'enregistrement d'un membre connecté ) {
            $online[ ] = $tuple ;
        } else {
            $offline[ ] = $tuple ;
        }
    }
    // Affichage de $online et $offline à ta convenance
    // ...

  3. #3
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Sinon encore plus simple, un ORDER BY dans la requête.

  4. #4
    je_suis_tres_gentil
    Invité(e)
    Par défaut
    merci mais sinon j'avais aussi pensé à mettre

    WHERE online_id=1

    mais comme j'avais mis aussi

    WHERE membre_rang=2

    ça m'a fait une érreur

    j'ai pensé à ça car c'était une idée

    WHERE online_id=1

    vue comme ça il pouvait cherche tout les oui donc le 1

    merci de votre aide

  5. #5
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Ben tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... FROM ... WHERE membre_rang=2 ... ORDER BY online_id DESC
    Cette reqête te retourneras tes membres de rang=2 trié par online_id décroissant : d'abord ceux ayant un online_id=2 puis online_id=1, retournant d'abord les utilisateurs connectés, puis les déconnectés (je me réfère à ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ($data2['online_id']==1)
    {
    echo '<td>non</td>';
    }
    else 
     
           		if ($data2['online_id']==2)
    {
    echo '<td>oui</td>';
    }
    1 = déconnecté, 2 = connecté

  6. #6
    je_suis_tres_gentil
    Invité(e)
    Par défaut
    mais il y as une érreur qui est

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT ... FROM ... WHERE membre_rang=2 ... ORDER BY online_id DESC ORDER BY mem' at line 4
    c'est comme la 1 fois que j'ai fais mais avec 2 where

    donc voilà tout le tableau qui est censé d'avoir que des membres déconnecté par exemple

    voilà

    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
    <?php
    //Requête
     
    $requete2 = mysql_query('SELECT membre_id, membre_pseudo, membre_inscrit, membre_post, membre_derniere_visite, online_id
    FROM forum_membres
    LEFT JOIN forum_whosonline ON online_id = membre_id
    SELECT ... FROM ... WHERE membre_rang=2 ... ORDER BY online_id DESC
    ORDER BY '.$sort.', online_id '.$tri.'
    LIMIT ' . $premier . ', ' . $MembreParPage .'')
    or die (mysql_error());
     
     
    if (mysql_num_rows($requete2) > 0)
    {
    ?>
           <table>
           <tr>
           <th class="pseudo"><strong>Pseudo</strong></th>             
           <th class="posts"><strong>Messages</strong></th>
           <th class="inscrit"><strong>Inscrit depuis le</strong></th>
           <th class="derniere_visite"><strong>Dernière visite</strong></th>                       
           <th><strong>Connecté</strong></th>             
     
           </tr>
           <?php
           //On lance la boucle
     
           while ($data2 = mysql_fetch_assoc($requete2))
           {
           echo '<tr><td>
           <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
           '.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></td>
           <td>'.$data2['membre_post'].'</td>
           <td>'.date('d/m/Y',$data2['membre_inscrit']).'</td>
           <td>'.date('d/m/Y',$data2['membre_derniere_visite']).'</td>';
           if ($data2['online_id']==1)
    {
    echo '<td>non</td>';
    }
    else 
     
           		if ($data2['online_id']==2)
    {
    echo '<td>oui</td>';
    }
     
     
           echo '</tr>';
           }
           ?>
           </table>
    merci de ton aide

Discussions similaires

  1. Membre connecté ou non connecté
    Par drick35 dans le forum Langage
    Réponses: 2
    Dernier message: 20/09/2013, 09h54
  2. Choisir Mode connecté ou non connecté
    Par bazoga dans le forum Développement
    Réponses: 7
    Dernier message: 30/11/2011, 15h00
  3. C# - BD : mode connecté ou non-connecté
    Par rousseau_damien dans le forum C#
    Réponses: 5
    Dernier message: 10/11/2010, 21h57
  4. Afficher les membres connectés
    Par tano93220 dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 17h32

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