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

  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)

  7. #7
    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
    ça marche nikel, merci Swoög !

    C'était pas si simple parce que j'avais deux td de deux couleurs différentes, m'enfin une fois que j'ai vu ton marqueur en dehors de la boucle while ça m'a parru évident.
    En bonus, j'ai appris à faire un marqueur. Je sais pas à quoi ça peut servir, mais bon je verrais à l'usage.

    Pour le code, je fais tout en css, mais là il s'agit de faire un tableau, à priori les tableaux sont fait pour. Il s'agirait pas non plus de remplacer les tableaux par des css, ces dernières ne sont point faites pour à leur tour.
    ( J'avais bien lu la page de ta signature avant même d'être inscrit sur le forum il me semble, et ça m'avait convaincu à l'époque )

    Encore merci, le résultat est bien sympa à l'affichage (je pense pas que ça consomme bcp de ressources ces deux if).

  8. #8
    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
    effectivement... si c'est pour présenter un tableau... autant utiliser les tableau désolé

    Pour les marqueurs tu verras, que ça peut servir de temps en temps... parfois un compteur est plus approprié (ça se construit sur la même base ^^)...

    en général, essaie de voir si tu ne peux pas modifier ta boucle pour extraire le cas particulier plutôt que d'utiliser un marqueur (bcp moins de ressources utilisées s'il y a beaucoup de tour fait dans la boucle)

    tiens ça me fait penser que j'ai pas pensé à ça (l'extraction)...

    le truc consiste en fait à traiter le premier message en dehors du while...

    faut voir si c'est vraiment utile (grand nombre d'itération de la boucle, et relativement peu de code dans la boucle pour que ça reste facilement lisible)
    ensuite c'est au choix entre les deux ^^

    Bonne continuation
    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)

  9. #9
    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 tu veux m'expliquer ce que tu appelles un compteur et comment ça se présente, ça me fera toujours une corde de plus à mon arc.
    Dans cas cas je n'affiche que 10 résultats par page, mais à un autre endroit du site je peux avoir besoin d'en afficher plusieurs centaines.
    Idem, si tu peux expliciiter ta pensé, quant à l'extraction...
    On en sait jamais trop.

  10. #10
    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
    refléchi un peu tu trouvera tout seul, je pense avois suffisament expliciter les concepts

    (compteur par de lui même [pense à un for] et pour l'extraction, c'est dit au-dessus)
    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)

  11. #11
    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
    Arf tu me forces à exploiter mes neurones là.

  12. #12
    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
    Arf tu me forces à exploiter mes neurones là.
    bah ouai, ça me fatigue que tu le fasses avec les miens
    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)

  13. #13
    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
    ah je suis reperé alors, je pensais pas que ça se verrait.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/04/2006, 17h45
  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, 12h29
  3. [OPENGL/C++] Couleur sur un DWORD ?
    Par Bob.Killer dans le forum OpenGL
    Réponses: 7
    Dernier message: 15/04/2005, 15h20
  4. Aide pour changer de couleur sur les primitifs GLUT
    Par romainhoarau2764 dans le forum GLUT
    Réponses: 3
    Dernier message: 19/03/2005, 14h30
  5. where sur la première colonne
    Par r-zo dans le forum Requêtes
    Réponses: 8
    Dernier message: 28/07/2003, 10h55

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