Affichage dans deux colonnes selon un critère

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage dans deux colonnes selon un critère

par iclo » 20 mai 2005, 10:05

Dommage, la solution que je te proposais, consistais en un simple test de rupture de séquence, et un peu d'html...

par wiwi » 20 mai 2005, 09:37

Je vous remerci de votre aide.
Pour être honnête, j'ai contourné le problème en attendant d'être un peu plus aguerri en terme de programmation :oops:

Plutôt que de gérer sur deux colonnes, je gère sur une colonne et j'applique un style en fonction de l'évènement.

par wiwi » 18 mai 2005, 12:58

Je vois bien ce que vous voulez dire en théorie. J'avais un peu la même idée. Par contre, débutant en php et en programmation, j'ai un peu de mal à passer du théorique au pratique. :)

Je regarde de mon côté et vous tient au courant. :wink:

par iclo » 18 mai 2005, 11:52

Tu les récuperes en les triant pour par exemple tout les internes puis les externes.
Et utiliser pour l'affichage deux tabeaux html interne dans la structure de ta page. l'avantage, un tableau pour la colonne de gauche et un autre pour la colonne de droite. tu remplis celui de gauche avant de remplir celui de droite...
Mais il faut être certains de ne pas avoir des modifications par la suite au niveaux d'un classement par date, par exemple une ligne pour les trucs d'un certaines jours, etc

par Cyrano » 18 mai 2005, 11:35

L'idée que je soulevais, c'est de récupérer tes évènements dans deux tableaus indexés, un pour l'interne, l'autre pour externe.

Lors de la génération de ton tableau HTML, tu utilises le premier pour compléter la première colonne tant que le tableau n'est pas vide, sinon, tu inscris un espace insécable (   ) et tu fais la même chose pour l'autre colonne avec l'autre tableau. La génération des lignes du tableau html sera limité par le plus grand nombre du tableau indexé externe ou interne.

par wiwi » 18 mai 2005, 11:24

En fait ce n'est pas tant l'accès aux données qui me pose problème c'est la façon de faire la mise en page. En effet, si je demande de me balancer tous mes évènements "à la suite", ça ne pose pas de problèmes :)

par Cyrano » 18 mai 2005, 10:55

Il manque peut-être un critère : la date de l'évènement qui fera que de toutes façon tu n'auras pas les évènements internes et externes sur les mêmes lignes... Actuellement, j'ai cru comprendre que ça ne rentrait pas en ligne de compte. Pour obtenir les évennement sans trous dans les colonnes, ça va être plus difficile avec une seule requête. Il va falloir faire une bidouille avec deux requêtes et ensuite des tableau indexés, des pointeurs et une génération de ton affichage qui, selon la colonne, prend un élément dans le tableau d'évènement internes ou dans l'autre.

par zeus » 18 mai 2005, 10:50

Tu as ces éléments dans une seule et même table ? Quelle est la structure de cette table. À priori, tu peux faire ça en une requête en aliasant le nom de table comme si tu cherchais dans deux tables différentes. Une requête qui ressemblerait à quelque chose comme ceci:

Code : Tout sélectionner

SELECT t1.evenement as interne, t2.evenement as externe FROM table as t1, table as t2 WHERE interne = 'interne' AND externe = 'externe'
Je suis pas certain de mon coup, mais ça doit ressembler à peu près à ça
Essaye de te renseigner sur ça !!!

Sinon essaye ce que je t'ai dit au début !!!

par wiwi » 18 mai 2005, 10:48

C'est pas du tout ce que j'avais compris !!! Embarassed

Je pensais qu'il voulait

Code:
interne | externe
interne | externe
interne | externe
interne | externe
Oui c'est ceci que je veux :)
Tu as ces éléments dans une seule et même table ?
Oui. J'ai juste un intitulé qui se balade dans une autre table mais ce n'est pas un problème/

par zeus » 18 mai 2005, 10:34

C'est pas du tout ce que j'avais compris !!! :oops:

Je pensais qu'il voulait

Code : Tout sélectionner

interne | externe interne | externe interne | externe interne | externe
Mais si c'est pour ça,

Code : Tout sélectionner

interne | interne | | externe | externe interne | | externe interne | | externe

par pjl » 18 mai 2005, 10:18

affichage (intérieur) :

Code : Tout sélectionner

evénement | vide
affichage (extérieur) :

Code : Tout sélectionner

vide | évènement

par zeus » 18 mai 2005, 10:07

Ca veut dire qu'il va avoir des sauts de lignes !!!

Imagine que dans sa base il a deux externes qui se suivent, il va avoir un truc comme ca :

Code : Tout sélectionner

interne | externe | externe interne | interne | externe

par pjl » 18 mai 2005, 10:04

Une et une seule requête suffit largement et il faut qu'elle ramène l'élèment permettant de savoir si l'évènement est extérieur ou intérieur.
Pour l'affichage, il suffit de le faire avec une condition.

Code : Tout sélectionner

Si (interieur OK) affiche (intérieur) sinon affiche (extérieur)

par zeus » 18 mai 2005, 09:59

SI ca marche, ça peut être assez puissant !!!

A voir

par Cyrano » 18 mai 2005, 09:53

Tu as ces éléments dans une seule et même table ? Quelle est la structure de cette table. À priori, tu peux faire ça en une requête en aliasant le nom de table comme si tu cherchais dans deux tables différentes. Une requête qui ressemblerait à quelque chose comme ceci:

Code : Tout sélectionner

SELECT t1.evenement as interne, t2.evenement as externe FROM table as t1, table as t2 WHERE interne = 'interne' AND externe = 'externe'
Je suis pas certain de mon coup, mais ça doit ressembler à peu près à ça