Tri par nom dans une table sql avec php et ht

juloet -  
Lilouse64 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je n'ai pas trouvé ou je ne cherche peut être pas bien mais j'ai une table sql avec un champ nom que j'affiche jsque la tout va bien !
j'aimerai pouvoir afficher la liste de nom en fonction de la lettre sur laquelle je vais cliquer dans ma page HTML comment faire?
exemple
A B C D E F G .....
lorsque je veux cliquer sur le A je ne veux que la liste de noms commençant par A

merci de votre aide
A voir également:

3 réponses

Lilouse64 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   12
 
Il te suffit que dans ta recherche tu marque
WHERE UPPER(nomvariable)="A%" pour la lettre A le % remplace une chaine de caractère.

La fonction upper te permet d'avoir ton nom de variable en majucscule et donc il n'y a pas de différence si ton nom commence par A ou a.
0
juloet
 
ça c'est pour la fonction en php mais comment lui indiquer avec une variable qui viendrait de la page HTML ?

comment faire le formulaire ?
je ne sais pas pour avoir ça :: A B C D .... en cliquant sur la lettre comment écrire la page html et de renvoyer à la page php le nom de la variable
Clairement je ne sais pas comment l'écrire dans un formulaire html
0
Lilouse64 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   12
 
Ce que je t'ai donné c'est en sql et non en php, il te faut bien une requête sql pour interroger ta base. Tu exécute ta requête avec mysql_query dans ta page en php.

Pour chaque page tu peux mettre dans l'url ta lettre par exemple que tu récupère avec la méthode get puis dans ta page tu exécute la requête correspondante à la lettre de ton url. Par défaut c'est bien sur le a s'il y en a pas.

Pour tes liens de lettre il faudra donc mettre "tapage.php?page=A" pour la lettre A etc ...
Pour récuperer ta variable c'est $_GET['page']

ce qui donnerais au final :
<?php
// Récupérer la variable dans le lien
if (isset($_GET['page'])){ // pour vérifier si ta variable est présente dans l'url
$page = $_GET['page'];
} else { // s'il n'y a pas de lettre dans l'url
$page = "A";
}
?>

un peu plus loin la ou tu affiche tes lettres
<a href="tapage.php?page=A">A</a> <a href="tapage.php?page=B">B</a> ... <a href="tapage.php?page=Z">Z</a>

<?php
// l'affichage de ta liste

// Connexion à la base de données
mysql_connect($host, $loginBD,$pswBD) or die("Erreur de connexion au serveur");
mysql_select_db($bdd) or die("Erreur de connexion a la base de donnees");

// Execution de ta requete
$query="SELECT elementquiseraaffiche FROM TABLECONCERNE WHERE nomvariable='".$page."%'";
$result=mysql_query($query) or die("Requète non exécutée : ".mysql_error());

// Affichage de ton ou tes éléments
while($row=mysql_fetch_array($result)){
echo $row[0]."</br>"; // s'il y a d'autre élément tu peux bien sur les afficher aussi...
}

?>


EDIT : apres une petite recherche pour placer tes lettres tu peux aussi le faire dans une boucle :
<?php
for ($i='65';$i<='90';$i++){ // le 65 correspond à A et 90 à Z en code ASCII
echo "<a href=\"tapage.php?page=".chr($i)."\">".chr($i)."</a>";
}
?>
0