requête base de donnée [php] - PHP - Programmation
Marsh Posté le 13-12-2007 à 20:02:33
LEFT(`titre`, 1) en MySQL.
ou $titre[0] en PHP (avec éventuellement un strtoupper/strtolower)
Marsh Posté le 13-12-2007 à 20:06:30
=> substr en php
=> substring en mysql
(pas utile d'employer les deux en même temps )
Tu mémorises la lettre qui correspond au groupe que tu affiches et tu fais un simple test au début de ta boucle de parcours qui décide si tu dois simplement afficher le titre ou changer le groupe que tu vas afficher.
Marsh Posté le 13-12-2007 à 20:11:09
ReplyMarsh Posté le 13-12-2007 à 21:05:39
mmhh j'ai du mal a bien comprendre, moi je part sur le principe de cette requette et je voudrais récupérer la premiere lettre
$reponse = mysql_query("SELECT titre FROM video);
apres je fais
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php $titre2=$donnees[0]?><br />
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
Marsh Posté le 13-12-2007 à 22:20:26
Classe tes enregistrements, tu les récupères tous visiblement et c'est sans pagination ce qu'il faut, en utilisant la clause order by.
Ca donne
Code :
|
Après tu as donc ton tableau que tu parcours. Tu utilises la fonction sus citée pour récupérer le premier caractère. Tu le mémorises et tu compares avec le prochain pour savoir si ça change et que donc tu dois réafficher la lettre suivante
Sinon, tu fais tout en sql, et pour chaque tuple (ligne) tu auras l'infos mais faudra quand même mémorisé la précédente et comparer avec la suivante pour savoir quand ça change
Hésites pas à afficher les données pour débogguer ou simplement comprendre, y'a rien de dur t'as toute les pistes. Tentes et reviens pour les erreurs (qui ne se trouvent pas dans la doc fr.php.net ou en premier résutat de ton moteur de recherche préfére )
Marsh Posté le 13-12-2007 à 22:24:01
J'avais pas tilté: par pitié pas d'ouverture/fermeture dans tous les sens pour un <br>
Mais ça dans une chaine de sortie que tu balances à la fin avec echo Pour t'éviter de nous demander dans 1 post, en php pour concaténer c'est le point (.), une chaine entre ' est une chaine, une chaine entre " est une chaine dont les expressions sont évaluées avant de définir la chaine (ex. $toto = "tata"; $var = "$toto"; echo $var; //donnera tata)
Voilà y'a plus qu'à
Marsh Posté le 13-12-2007 à 22:51:04
erwan83 a écrit : heu... il a dit qu'il était débutant le gars je crois ? |
Oui et ? Il pose une question abstraite sans le moindre bout de code, il reçoit une réponse abstraite sans le moindre bout de code, on ne va pas broder lorsqu'on ignore ce qu'il fait
Marsh Posté le 14-12-2007 à 09:51:26
ok merci beaucoup pour tout vos conseil je vais mi mettre et je vous dirai si j'ai réussi a faire ce que je voulais faire
merci et a bientot
Marsh Posté le 13-12-2007 à 19:51:16
Bonsoir
Je suis débutant en php et mysql, j'ai suivi les cours sur le site du zero et je suis dans la création d'un site actuellement mais une chose me bloc.
Je souhaiterai récuperer la première lettre d'un titre dans ma base de donnée pour pouvoir ensuite afficher mes résultats dans un ordre croissant comme l'exemple suivant:
a:
ali
alladin
au revoir a jamais
b:
bioman
p:
police story
r:
rasta rocket
rocky
...
donc voila un peu le principe mais voila j'ai beau chercher je ne trouve pas comment faire
Ya t-il quelqu'un qui pourrait m'orienter vers une solution possible ou vers un site.
Merci bonne soirée