Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2007, 16h17   #1
Membre régulier
 
Inscription : novembre 2005
Messages : 371
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 371
Points : 80
Points : 80
Par défaut Rechercher avec premier lettre d'un nom

Bonjour le forum,


Mon PB est de lancer une recherche sur une partie d'un nom present dans un champ de ma BDD afin d'affihcer tous les noms commençant par les lettres saisies.



J'ai actuellement une bdd trés trés remplie.

Quand j'affiche mon select sur ma page PHP, je limite mon affichage a tant par page.

Tout fonctionne trés bien , cependant, j'aimerai rajouter un champ (formulaire avec imput) qui me permet de saisir un début de nom, (premiere lettre, ou premiereS lettreS) et cliquer sur un lien ou bouton pour faire apparaitre une liste de nom présents dans ma bdd en limitant ces noms aux lettres saisies dans mon champ du form.

Pour faire simple je peux récupérer ça sous forme de variable dans mon url et en faire une condition de plus dans mon select si il le faut.

Pour l'instant je cale, car je parviens a faire une recherche que sur l'integralité d'un nom et non une partie, si qulqu'un aurait la grande gentillesse de m'aider s'il vous plait, il serait bienvenu.

Bonne journée
kaolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 16h23   #2
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 28
Points : 28
Points : 28
salut

le mot clé sql est LIKE
exemple : select nom from personne where nom like 'chaine_input%'

donc en php
$sql = "select nom from personne where nom like '".$champInput."%'";

$champInput étant la valeur que tu saisie
si tu met le '%' au début (sans le mettre à la fin) tu as les nom finissant par le 'nom'

si tu le met quà la fin, tu as les noms commencants par le 'nm' (que tu as saisie dans ton formulaire )

si tu met LIKE '%nom%' tu as les nom commencant, qui finissent, et qui contiennent ta chaine

amicalement

matt
newsainix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 16h25   #3
Membre régulier
 
Inscription : novembre 2005
Messages : 371
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 371
Points : 80
Points : 80
C'est parfait je te remercie doublement car, je veins effectivement de découvrir cette fonction en faisant une recherche sur le forum .

Désolés de ce derangement, d'habitude je commence toujours par faire une recherche.

Merci et bonne journée
kaolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 16h45   #4
Membre régulier
 
Inscription : novembre 2005
Messages : 371
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 371
Points : 80
Points : 80
J'ai quand meme un petit souci, decidement je post un peu trop vite aujourd'hui.

OK pour la fonction LIKE, je comprends son fonctionnement.

Mais mon PB vient du fait que je dois saisir une partie du nom dans la meme page que l'affichage des noms, donc je pense qu'il faille que je passe par un form, mais je ne parviens pas a envoyer l'info dans l'url.

Par contre qd je force l'url je récupére bien l'info et le script marche.

En clair, d'habitude, j'ai une page formulaire et je valide en ouvrant une autre page, mais la c'est la meme.

Quelqu'un peut ma'ider s'il vous plait.

Je rappel que je passe bien la variable dans l'url qd je clique sur un lien, mais quand le saisir un nom et que je clique sur valider, rien ne fonctionne.

MErci
kaolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 17h02   #5
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 28
Points : 28
Points : 28
re

exemple :
tu postes sur la meme page (quon va appeler index.php)
GET si tu récupère le champ saisie par l'URL
formulaire de saisie :
Code :
1
2
3
4
5
6
7
 
<form method="get" action="index.php" />
 
<input type="text" name="nom" />
<input type="submit" value="valider" />
 
</form>

A la suite de ce code tu fais ton code php
Code :
1
2
3
4
5
6
 
//si ta le nom dans l'URL
//le if est important sinon l'interpréteur php va te dire qu'il ne connais pas $_GET["nom"]
if(isset($_GET["nom"]){
 tu fais ta requete sql normalement et tu liste tes résultats
}
amicalement

matt
newsainix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 17h56   #6
Membre régulier
 
Inscription : novembre 2005
Messages : 371
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 371
Points : 80
Points : 80
Merci mais cela ne marche pas, j'ai du adapter pour faire fonctionner mon script.

J'ai simplement fait un if sur la valeur de la variable directement sans passer par le isset et maintenant cela foncitonne.

Aller comprendre.

en tout cas merci et bonne soirée
kaolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web