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 05/07/2011, 01h45   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 9
Points : 9
Par défaut recherche dans une BD apartir d'un textbox

salut
j ai une table client qui contient 3 attribut (id,nom,adresse)
je veux que apartir d'une donnee d'un champ de text que l'utilisateur a saisie
ma page va afficher l'enregestrement entier liee au champ de text?

exempl
(le nom de champ de text=a)

1.syntaxe

select *
from client
where nom=@a

2.syntaxe
select *
from client
where nom=&a

je cherches une syntaxe correcte parce que j ai essaye les deux ...pas de resultat 0 ;
merci
salyiohh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 05h24   #2
Membre habitué
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 142
Détails du profil
Informations personnelles :
Nom : Marc

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 142
Points : 129
Points : 129
Salut,

si j'ai bien compris tu veux récupérer une entrée.

Donc quelques chose de ce style :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
include("connection_a_la_bd.php");
// Test si une variable nom est envoyé
if (isset($_POST['nom']))
{
   $nom = mysql_real_escape_string($_POST['nom']); // Eviter les injections SQL
   $requete="SELECT * from table where nom= '$nom'";
   $execute = mysql_query($requete,$basededonne);
   $reponse = mysql_fetch_assoc($execute)
 
   // Utiliser les champs de la réponse :
   echo $reponse['nom'] ;
}
Evidement avec une base de donnée mysql, la syntaxe change un petit peu pour les autres bases de données mais tu devrais pas avoir trop de mal à trouer les équivalents.

Cordialement Manticore
manticore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 08h29   #3
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
Comme il s'agit d'une recherche sur UN mot dans UNE chaine (comportant donc plusieurs mots), essaye plutot ceci :
Code :
"SELECT ... WHERE danscettechaine LIKE '%".mysql_real_escape_string($ceMot)."%';"
En clair : on recherche les enregistrements où la chaine "danscettechaine" comporte le mot "$ceMot".

- % ("pourcent") remplace n'importe quelle chaîne de caractères, y compris la chaîne vide.
- _ ("underscore") remplace un et un seul caractère.
Voir Opérateur LIKE
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 01h42   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 9
Points : 9
salut tt le monde , merci pour vos reponses,
j ai essaye ce code mais j obtien ERREUR en ligne 119 (ligne de boucle while)
pouviez vous m'aider a resourdre ce probleme .
merci.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(abc c'est le nom de textfield);
 
if (isset($_POST['abc'])){
}
	mysql_select_db($database_cnx3, $cnx3);
   $nom = mysql_real_escape_string($_POST['abc']); 
   $requete="SELECT * from client where nom like '$nom'";
   $execute = mysql_query($query_r3, $cnx3) or die(mysql_error());
   $reponse = mysql_fetch_assoc($execute);
 
   // Utiliser les champs de la réponse :
 
 
   while($res=mysql_fetch_array($requete)){
  		echo $res['id_cl']." - ".$res['nom'];
   }
?>
salyiohh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 02h01   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Si tu veux que ta recherche aille un peu plus loin je te suggère les index fulltext.

Ah et puis
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/07/2011, 01h03   #6
Nouveau Membre du Club
 
Inscription : avril 2011
Messages : 118
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 118
Points : 32
Points : 32
Coucou,

moi j'utilise ce mode de connexion que je trouve plus claire et plus simple à utiliser. J'ai essayé de l'adapter à ce que tu voulais mais avant il faut que tu inscrives les informations pour la connexion.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
//connexion à la base de données
	try
	{
		$bd = new PDO('mysql:host=localhost;dbname=NomBDD','Login','Mot de passe');
	}
	catch (Exception $e)
	{
	//
		echo "<br/>Erreur lors de l'etablissement de la connexion  : ".$e->getMessage();
	}
 
	//recupérer la valeur à rechercher
   $nom = $_POST['abc'];
 
   //Exécuter une requete de recherche
   $requete= $bd-query('SELECT * from client where nom like "%' . $nom . '%"');
 
   //Récupérer la réponse
   while($res = $requete->fetch()){
  		echo $res['id_cl']." - ".$res['nom'];
   }
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2011, 01h16   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
ps :
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h25.


 
 
 
 
Partenaires

Hébergement Web