8791 sujets

Développement web côté serveur, CMS

Bonjour,

En fait c'est un problème de présentation : à partir d'une requête mysql, j'obtiens une liste de noms que je classe de A à Z. ça me donne une grande liste pas clairement lisible. Comment scinder la liste par lettre (en passant une ligne par exemple entre chaque groupe de premières lettres du nom) ?

Merci de votre aide Smiley smile
Modifié par webcrea (10 Sep 2007 - 12:08)
coucou,
tu as une propriété css qui gere l'espacement entre les mots : "Word-Spacing"
p {
word-spacing : 15px ;
}


edit : oups, j'ai mal lu l'intitulé de la question.
la css ne peut pas reperer les groupes de mots commençant par la meme lettre.
C'est dans ta requete mysql, qu'il faudrait arriver à faire plusieurs requetes, une par lettre de l'alphabet, pour avoir des blocs séparé dans ton code au final.
Modifié par buh31 (08 Sep 2007 - 02:23)
buh31 a écrit :

C'est dans ta requete mysql, qu'il faudrait arriver à faire plusieurs requetes, une par lettre de l'alphabet, pour avoir des blocs séparé dans ton code au final.


Plutôt un group-by, non ?

Après, tu peux par exemple affecter une classe différente au premier élement de chaque groupe, ou faire une structure de liste avec un sous niveaux
JE pense qu'il faut simplement opter pour plusieurs listes successives. Il y aura fatalement un espacement plus important entre deux listes différentes qu'entre deux mots de la même liste.
Merci pour vos réponses mais j'avoue que je reste encore dans le flou.
Comment est-ce que je peux travailler sur les différents groupes avec un "group by nom" dans ma requete ?
Au mieux tu l'affiches en php, donc tu peux utiliser une variable du style:


<?php
$debut=0;
while($donne=mysql_fetch_assoc($query)){
	if($debut==0){
		echo '<p>';
		$debut=1;
		$lettre=substr($donne['nom'],0,1);
	}
	if($lettre!=substr($donne['nom'],0,1))
		echo '	</p>
				<p>';
	}
	echo $donne['nom'];
}
?>


Je pense que ca devrai marcher comme cela sans utiliser de groupe by. a tester Smiley lol
J'espere que tu l'as modifier car en faite il ne va pas marcher comme cela Smiley langue j'ai oublié une ligne Smiley lol et on peut le simplifier Smiley langue


<p>
<?php
$lettre='a';
while($donne=mysql_fetch_assoc($query)){
	if($lettre!=substr($donne['nom'],0,1))
		echo '	</p>
				<p>';
		$lettre=substr($donne['nom'],0,1);
	}
	echo $donne['nom'];
}
?>