Problème de listage d'une colonne

Problème de listage d'une colonne - PHP - Programmation

Marsh Posté le 06-02-2008 à 02:05:26    

Bonjour,
je vais essayer de faire simple. Avec une requête SQL, j'ai listé les éléments d'une colonne de ma table.
Alors, j'ai une super belle liste mais j'aimerais plutôt avoir une sorte de tableau avec trois éléments l'un à côté de l'autre.
 
Un exemple est plus clair :
Actuellement, avec ma requête qui trie ma colonne, j'obtiens une liste comme ça :
élémenta
élémentb
élémentc
élémentd
élémente
élémentf
élémentg
...

 
Bref, une liste toute simple. Mais moi j'aimerais avoir ce genre de liste :
élémenta - élémentb - élémentc
élémentd - élémente - élémentf
élémentg - ...

 
Le problème est que je n'arrive pas à dire à mon code : "au bout de trois éléments comptés tu sautes une ligne". C'est soit je mets tous les éléments sur une ligne ou soit je saute une ligne après chaque élément.
 
Voici mon code actuel :

Code :
  1. $sql = "SELECT sortie FROM albums ORDER BY sortie DESC";
  2. $req = mysql_query($sql);
  3. while($data = mysql_fetch_assoc($req))
  4.     {
  5. $annee_album = $data['sortie'];
  6.     echo "$annee_album<br>";
  7.     }


 
Quel bout de code dois-je rajouter pour obtenir ma deuxième liste ? A mon avis, ça doit être tout bête mais je ne vois pas comment faire.
 
Si vous pouvez m'éclairer de vos bougies,
lofo7

Reply

Marsh Posté le 06-02-2008 à 02:05:26   

Reply

Marsh Posté le 06-02-2008 à 09:01:07    

ben avec un compteur par exemple, genre :

if ($i++%3==0) echo '<br>';


 
Mias bon, le plus propre serait de faire une liste + css

Reply

Marsh Posté le 06-02-2008 à 09:06:17    

En faisant ca, je pense que ca passe :

Code :
  1. $inc = 1;
  2. while($data = mysql_fetch_assoc($req))
  3. {
  4. $annee_album = $data['sortie'];
  5. echo "$annee_album";
  6. if ($inc == 3) {$inc = 1; echo "<br>";}
  7. else {$inc++; echo " - ";}
  8. }


Mais je crois me souvenir qu'il y a une solution plus propre avec des modules qui a été vu sur ce forum dans les 3 dernières semaines (dès que j'ai un poil de temps, je le cherche)
 
[:benou_grilled] by soju  [:tomawack]


Message édité par babasss le 06-02-2008 à 09:07:11

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 06-02-2008 à 13:35:07    

Ca marche avec la solution de babass. En fait c'était tout c... Merci bien. Je vais aussi chercher l'autre solution sur les vieux topics
 
Merci beaucoup

Reply

Marsh Posté le 06-02-2008 à 14:14:21    

J'ai trouvé, il s'agit d'un sujet sur les modulo : http://forum.hardware.fr/hfr/Progr [...] 1268_1.htm
 
En gros à la place des lignes

Code :
  1. if ($inc == 3) {$inc = 1; echo "<br>";}
  2. else {$inc++; echo " - ";}


il faudrait mettre :

Code :
  1. if($inc % 3 == 0) {echo "<br>";}
  2. $inc++;



---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 06-02-2008 à 14:57:50    

oui, apprendre les bases des langages qu'on utilise avant de commencer à coder, au lieu d'essayer des trucs au pif jusqu'à ce que ça marche.[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-02-2008 à 15:07:17    

Bah, c'est avec les erreurs qu'on avance. A force d'essayer pleins de trucs, je m'en sors de mieux en mieux mais je ne suis qu'un débutant.

Reply

Marsh Posté le 06-02-2008 à 15:10:04    

Là ce n'est pas avec les erreurs que tu avances, c'est avec les réponses aux questions de débutant que tu poses sur ce forum.
On n'est là pour t'apprendre pas à pas comment utiliser le langage...


Message édité par skeye le 06-02-2008 à 15:10:14

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-02-2008 à 15:29:45    

Ben comme je l'ai dit dans ma question, tout marche nikel sur d'autres requêtes. Seulement, je ne comprends pas pourquoi mais dans ma requête actuelle, ça ne marche pas comme je veux.
 
Donc ça ne vient pas du fait que je connaisse ou pas le langage mais d'un problème spécifique à ma requête. Donc, je ne pense pas trouver la solution sur un manuel de php mais plutôt sur un forum.
De plus, je pense qu'un forum n'est pas destiné seulement au surdoué ou au dieu du PHP dans ton genre mais aussi au débutant dans mon genre. Les surdoués du PHP, logiquement, n'ont pas besoin de forums.
 
Pour finir, je ne pose pas des questions à chacun de mes problèmes. En temps normal, je teste, je re-teste, j'utilise google et les sites qui traitent de PHP et je trouve la solution. Mais il arrive que je ne trouve pas de solutions à mon problème, donc là j'essaie de trouver des gens assez sympas sur un forum pour m'aider à résoudre mon problème (de débutant ou non).
Logiquement, un forum sert à ça non ?
 
"en informatique, forum (sens provenant de l'anglais) un espace virtuel qui permet de discuter "librement" sur plusieurs sujets divers" Wikipedia.

Message cité 1 fois
Message édité par lofo7 le 06-02-2008 à 15:30:21
Reply

Marsh Posté le 06-02-2008 à 15:38:49    

lofo7 a écrit :

Ben comme je l'ai dit dans ma question, tout marche nikel sur d'autres requêtes. Seulement, je ne comprends pas pourquoi mais dans ma requête actuelle, ça ne marche pas comme je veux.


 
Poste le code. Là on a 3 lignes déconnectées de tout, ça veut tout et rien dire.
 
 

lofo7 a écrit :

Donc ça ne vient pas du fait que je connaisse ou pas le langage


 
Si. En html un retour à la ligne c'est <br>, pas \ ou \n\r.
 
 

lofo7 a écrit :

De plus, je pense qu'un forum n'est pas destiné seulement au surdoué ou au dieu du PHP dans ton genre mais aussi au débutant dans mon genre. Les surdoués du PHP, logiquement, n'ont pas besoin de forums.


 
[:violon]
 
 

lofo7 a écrit :

Pour finir, je ne pose pas des questions à chacun de mes problèmes. En temps normal, je teste, je re-teste, j'utilise google et les sites qui traitent de PHP et je trouve la solution. Mais il arrive que je ne trouve pas de solutions à mon problème, donc là j'essaie de trouver des gens assez sympas sur un forum pour m'aider à résoudre mon problème (de débutant ou non).
Logiquement, un forum sert à ça non ?
 
"en informatique, forum (sens provenant de l'anglais) un espace virtuel qui permet de discuter "librement" sur plusieurs sujets divers" Wikipedia.


 
Non. Cette méthode c'est espérer apprendre le langage (voire les langages, avec html et SQL) en le pratiquant. Avec comme bouée de sauvetage les forums.
Un langage on en apprend les bases AVANT de commencer.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-02-2008 à 15:38:49   

Reply

Marsh Posté le 06-02-2008 à 15:41:47    

Si tu fais un print (echo) avant le nl2br et après, ça t'affiche quoi ??? histoire de comparer... pis si ça t'affiche déjà rien AVANT, tu comprendra mieux pourquoi ça affiche rien APRES (ajouter des retour chariots dans du vide, ça fait pas grand chose à ma connaissance, quoique, j'ai pas souvenir d'avoir essayé ;))
 
[hors sujet]
Meme si je suis resté longtemps absent, ça fait pas mal d'année que je cotoi ce forum, meme si le ton sur lequel te répondent les "anciens" ne te fait pas toujours plaisir, dis toi quand meme que ce qu'il te dise est tres souvent (pour pas dire toujours) utile, et meme les remarques que tu peux classer comme "non constructive" peuvent servir à te "motiver à chercher par toi-meme".
 
Et surtout, meme si le ton ne te plait pas, inutile de les renbarrer avec du "mais ouais, toi t'es champion, tu sais tout", ou autre remarque du genre... tu pose une question, du moment que tu fini par avoir une réponse, tu dis "merci" et tu passe ton chemin.
 
Plus tard quand des débutants te poseront les questions que tu pose aujourd'hui, et que toi tu sera déjà à un niveau largement plus évolué, on verra sur quel ton tu leur répond, à supposer que tu prenne de ton temps pour leur répondre.
 
Nota: toute, remarque qui pourrait paraitre blessante à l'enconte de qui que ce soit dans mon post, est indépendante de ma volonté, et donc merci de relire afin de s'assurer qu'il n'y a aucune agression si vous avez un doute... :))
[/hors sujet]


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 06-02-2008 à 15:44:58    

Débats sans fin de muets qu'un sourd écoute. Je vais me débrouiller.
Merci bien !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed