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 :

Condition foreach, message à gauche/droite CSS


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Par défaut Condition foreach, message à gauche/droite CSS
    bonjour à tous,

    Je suis entrain de coder un système tout simpliste de message en php... Mes messages sont stockés dans la base de donnée de manière très simple, un ID, l'ID du createur de message, le contenu du message, la date...

    Nom : xxxxxxx.png
Affichages : 157
Taille : 185,2 Ko

    Pour le moment tout vas bien !

    Au travers d'une simple bouche if() foreach()... j'obtiens l'ensemble de mes messages dans l'ordre chronologique que j'ai déterminé par ma requête...

    J'aurai aimé au niveau du CSS comme dans tout système de message en 2018, mettre les messages de l'utilisateur connecté à droite et celle des autres utilisateur à gauche ? Je n'y arrive pas, surement à cause de ma boucle foreach... j'ai essayé d'autres conditions dans ma boucle mais j'ai plus de messages...

    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
    <?php if (count($results_comment)):
    foreach($results_comment as $info_comment):
     
        if ($_SESSION["uid"] == $info_comment["send_id"])
        {
            echo
            '
            a droite
            ';
        }
        else
        {
            echo
            '
            a gauche
            ';
        }
        ?>
    <?php endforeach;
    else: ?>
        <div class="DiscussionPostContentCommentError">
            No private message.
        </div>
    <?php endif; ?>
    J'ai une un INNER en ce qui concerne ma requête de base, je fais un lien entre ma table des messages privée, et ma table ou j'ai l'avatar et le prénom de mes utilisateur :

    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
    $req_comment = <<<SQL
    SELECT u.id,
        u.firstname,
        u.lastname,
        u.avatar,
        p.id,
        p.send_id,
        p.recipient_id,
        p.message_content,
        p.message_date
    FROM post_private_message p
    INNER JOIN users u
       ON p.send_id = u.id
    WHERE p.post_id = :id
    ORDER BY p.message_date DESC LIMIT $depart, $nbcomment;
    SQL;
    $comment= $bdd->prepare($req_comment);
    $comment->bindValue("id", $id, PDO::PARAM_STR);
    $comment->execute();
    $results_comment = $comment->fetchAll(PDO::FETCH_ASSOC);
    Une petite idée ?

    En vous remerciant,

    Alex

  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
    Il faut déjà classer tes résultats selon qu'ils vont à gauche ou à droite. Et ensuite tu affiches.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $gauche = '';
    $droite = '';
    foreach($results_comment as $info_comment) {
     
        if ($_SESSION["uid"] == $info_comment["send_id"])
        {
            $droite .= $info_comment['lastname'];
        }
        else
        {
            $gauche .=  $info_comment['lastname'];
        }
    }
    echo '<div class="gauche">' . $gauche . '</div><div class="droite">' . $droite . '</div>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. probléme de placement colonne droite css
    Par speedylol dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/07/2006, 09h37
  2. [HTML] balise marquee à gauche, à droite ?
    Par Maxi-môme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 29/05/2006, 14h10
  3. NeHeCamera , mouvement a gauche/droite
    Par Happy dans le forum OpenGL
    Réponses: 4
    Dernier message: 24/02/2006, 18h10
  4. gérer le clic gauche-droite en même temps de la sou
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2002, 22h52

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