Tri par nom dans une table sql avec php et ht
Fermé
juloet
-
16 mars 2010 à 11:29
Lilouse64 Messages postés 99 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 9 avril 2012 - 16 mars 2010 à 14:38
Lilouse64 Messages postés 99 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 9 avril 2012 - 16 mars 2010 à 14:38
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
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:
- Tri par nom dans une table sql avec php et ht
- Table ascii - Guide
- Table des matières word - Guide
- Excel trier par ordre croissant chiffre - Guide
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Trouver un nom avec une adresse - Forum Réseaux sociaux
3 réponses
Lilouse64
Messages postés
99
Date d'inscription
lundi 1 mars 2010
Statut
Membre
Dernière intervention
9 avril 2012
12
16 mars 2010 à 11:35
16 mars 2010 à 11:35
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.
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.
ç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
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
Lilouse64
Messages postés
99
Date d'inscription
lundi 1 mars 2010
Statut
Membre
Dernière intervention
9 avril 2012
12
16 mars 2010 à 14:38
16 mars 2010 à 14:38
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>";
}
?>
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>";
}
?>