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

Langage PHP Discussion :

[Tableaux] div de couleur sur la première réponse d'un forum


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut [Tableaux] div de couleur sur la première réponse d'un forum
    Bonjour,

    Je voudrais réussir la chose suivante :
    En haut de la première réponse à un sujet de discussion, sur un forum, je veux faire apparaitre une div de couleur. Ce pour séparer la première réponse de la question initiale.

    Le problème c'est que j'affiche les réponses grace à une boucle while et un mysql_fetch_array.
    Donc si je veux afficher une div de couleur pour la première réponse, cela va en fait me l'afficher pour toutes les réponses.

    Je dois donc détecter la première réponse et faire un if dans la boucle.
    A moins que je ne puisse l'identifier dans la requête, via un select min id par exemple (l'id le plus petit étant forcément celui de la première réponse), et donner à ce min id un nom via AS.

    ça ce sont des idées, mais justement j'attend vos suggestions.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    si je comprends bien, tu peux identifier la question initiale, mais pas la première réponse ?

    Dans ce cas, insère le div après la question (plutôt qu'avant la réponse, si tu saisie la nuance)

    Dans le second cas, une variable qui te sert de marqueur dans la boucle sera bonne (exemple un compteur)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    si je comprends bien, tu peux identifier la question initiale, mais pas la première réponse ?
    Oui car le sujet et les réponses sont dans des tables différentes, donc il y a deux requêtes différentes.

    ans ce cas, insère le div après la question (plutôt qu'avant la réponse, si tu saisie la nuance)
    Non j'y ai pensé mais c'est pour un effet de profondeur spécifique ce n'est pas possible.
    J'ai deux solutions :
    1) J'insère la div à la fin du message initiale ==> c'est ce que j'ai fait, le résultat est potable.
    2) J'insère la div au début de la première réponse ==> c'est cohérent graphiquement et c'est ce que j'essaye de faire.
    Je ne peux pas:
    Insérer la div entre les deux, c'est à dire après ou avant le message initiale ou la première réponse. La div doit faire partie du message initial ou de la première réponse.

    Dans le second cas, une variable qui te sert de marqueur dans la boucle sera bonne (exemple un compteur)
    Oui mais alors cela m'impose de rajouter un champs dans la table. Autant que possible j'aurais voulu le faire au moment du traitement de l'affichage.

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par psychoBob
    [...]
    Oui mais alors cela m'impose de rajouter un champs dans la table. Autant que possible j'aurais voulu le faire au moment du traitement de l'affichage.
    Non, tu reçoits les réponses dans l'ordre je suppose (dans ta boucle while) donc il te suffit de faire une variable en PHP ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut

    Je ne vois pas comment faire ce marqueur .

    L'effet de profondeur doit se faire pour le premier <tr> de la première réponse.
    Pour ce faire, je dois affiche class"div" dans ce <tr>. Mais pas dans les autres nous nous sommes compris.

    Alors le marqueur, il a lieu où dans la requête sql ou dans la boucle while? Et je présente la chose comment ?
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while(blablabla)
    {
    $marqueur="class=\"div\"";
    <tr $marqueur>
    </tr>
     <tr>
    </tr>
    etc...
    }
    Mais là ça va m'afficher le div class pour chaque premier <tr> des réponses et pas seulement pour la première

    **edit** en plus dans mon exemple ça sert à rien le $marqueur autant marqué directement class="div"

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $marked = false;
    while(...)
    {
       [...début affichage...]
       if($marked === false)
       {
           [... div de couleur ...]
           $marked = true;
       }
       [...fin affichage...]
    }
    ensuite, laisse tomber les tableaux (cf lien dans ma signature), préfère le CSS [mais il me semble t'en avoir déjà parler donc je vais pas insister lourdement ]
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/04/2006, 16h45
  2. Pas de numéro de page sur la première page (titre)
    Par szdavid dans le forum Mise en forme
    Réponses: 3
    Dernier message: 12/08/2005, 11h29
  3. [OPENGL/C++] Couleur sur un DWORD ?
    Par Bob.Killer dans le forum OpenGL
    Réponses: 7
    Dernier message: 15/04/2005, 14h20
  4. Aide pour changer de couleur sur les primitifs GLUT
    Par romainhoarau2764 dans le forum GLUT
    Réponses: 3
    Dernier message: 19/03/2005, 13h30
  5. where sur la première colonne
    Par r-zo dans le forum Requêtes
    Réponses: 8
    Dernier message: 28/07/2003, 09h55

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