A voir également:
- Zone de recherche dans la base mysql
- Zone telechargement - Accueil - Outils
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Formules excel de base - Guide
- Cette video n'est pas disponible depuis votre zone geographique ✓ - Forum Réseaux sociaux
- Exemple base de données access à télécharger gratuit - Forum Access
14 réponses
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
19 mai 2010 à 11:56
19 mai 2010 à 11:56
salut
l'utilisateur entrera un nom complet ou seulement une partie de nom, et ça retourne les noms des personnes commençant par l'entrée ?
sinon en PHP pour concaténer on utilise le "." (point) il me semble...
l'utilisateur entrera un nom complet ou seulement une partie de nom, et ça retourne les noms des personnes commençant par l'entrée ?
sinon en PHP pour concaténer on utilise le "." (point) il me semble...
l'utilisateur rentrera les première lettre du nom, puis le site renverra les personnes ayant ces premiere lettre, mais sous forme de tableau avec leur nom mais également leurs autres attributs tel que le prenom, enfin les attributs de la table "info_personne"
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
19 mai 2010 à 14:58
19 mai 2010 à 14:58
alors ta reqête devrait ressembler à quelque chose comme ça :
$query "select * from $table where nom like \"$champs_nom%\" order by nom" ;
$query "select * from $table where nom like \"$champs_nom%\" order by nom" ;
d'accord pour la requête, mais maintenant comment je fait pour que ce soit en cliquan sur le bouton submit ou button je sais pas que la requête et comment faire $champs_nom retourne la valeur entrée par le client?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
19 mai 2010 à 17:13
19 mai 2010 à 17:13
ah ok c'est un problème php et non un problème sql
donc tu as ton formulaire avec ton champs "nom", ton bouton valider sur ta première page.
<FORM METHOD=GET ACTION="traitement.php">
<input type=text name="champs_nom">
<input type=submit name="valider" value="valider">
</FORM>
dans ton traitement.php :
if (isset ($_POST ['champs_nom'])) {
$query = "select * from info_personne where nom like $champs_nom% order by nom ;" ;
//connxion à ta BD
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo "<p>$key => $value</p> ;
}
//déconnexion de ta BD
}
else echo 'le champs nom n\'est pas rempli' ;
voilà normalement ça devrait fonctionner ;)
donc tu as ton formulaire avec ton champs "nom", ton bouton valider sur ta première page.
<FORM METHOD=GET ACTION="traitement.php">
<input type=text name="champs_nom">
<input type=submit name="valider" value="valider">
</FORM>
dans ton traitement.php :
if (isset ($_POST ['champs_nom'])) {
$query = "select * from info_personne where nom like $champs_nom% order by nom ;" ;
//connxion à ta BD
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo "<p>$key => $value</p> ;
}
//déconnexion de ta BD
}
else echo 'le champs nom n\'est pas rempli' ;
voilà normalement ça devrait fonctionner ;)
merci bien ;)
malheureusement j'ai du mal faire quelque chose parce qu'il me renvoi toujours :
"le champs nom n'est pas rempli" dans tous les cas...
malheureusement j'ai du mal faire quelque chose parce qu'il me renvoi toujours :
"le champs nom n'est pas rempli" dans tous les cas...
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
20 mai 2010 à 10:43
20 mai 2010 à 10:43
oui en effet j'ai oublié une ligne XD désolé ^^"
dans ton traitement.php :
if (isset ($_POST ['champs_nom'])) {
extract ($_POST) ; //extrait tous les index de $_POST, le nom de la variable
// sera le nom de l'index
$query = "select * from info_personne where nom like $champs_nom% order by nom ;" ;
//connxion à ta BD
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo "<p>$key => $value</p> ;
}
//déconnexion de ta BD
}
else echo 'le champs nom n\'est pas rempli' ;
voilà ça devrait marcher encore désolé ;)
bonne continuation
dans ton traitement.php :
if (isset ($_POST ['champs_nom'])) {
extract ($_POST) ; //extrait tous les index de $_POST, le nom de la variable
// sera le nom de l'index
$query = "select * from info_personne where nom like $champs_nom% order by nom ;" ;
//connxion à ta BD
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo "<p>$key => $value</p> ;
}
//déconnexion de ta BD
}
else echo 'le champs nom n\'est pas rempli' ;
voilà ça devrait marcher encore désolé ;)
bonne continuation
arf toujours pas ^^
mon formlaire :
et traitement.php :
au niveau de ton
j'ai remplacer par
sinon j'avais des erreurs, mais bon sinon ça ne marche toujours pas :( mais je fait surement quelque chose de travers
mon formlaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Annuaire 3H </title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="description" content=" formulaire" /> </head> <body> <h1> Rechercher une personne </h1> <FORM METHOD=GET ACTION="traitement.php"> <input type=text name="champs_nom"> <input type=submit name="valider" value="valider"> </FORM> </body> </html>
et traitement.php :
<?php if (isset ($_POST ['champs_nom'])) { if (isset ($_POST ['champs_nom'])) { extract ($_POST) ; //extrait tous les index de $_POST, le nom de la variable // sera le nom de l'index $query = "select * from info_personne where nom like $champs_nom% order by nom ;" ; //connxion à ta BD $cnx=mysql_connect('localhost','root',''); mysql_select_db('annuaire3h',$cnx); $result = mysql_query ($query) ; while ($row=mysql_fetch_assoc($result)) { foreach ($row as $key=>$value) echo $key -> $value ; } //déconnexion de ta BD mysql_close($cnx); } else echo 'le champs nom n\'est pas rempli' ; ?>
au niveau de ton
echo "<p>$key => $value</p>
j'ai remplacer par
echo $key -> $value
sinon j'avais des erreurs, mais bon sinon ça ne marche toujours pas :( mais je fait surement quelque chose de travers
et le nom de l'index c'est le nom de ma clé primaire en fait?
si oui je dois le mettre comme ça ?
merci encore de ton soutien ^^
si oui je dois le mettre comme ça ?
'id';
merci encore de ton soutien ^^
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
20 mai 2010 à 14:59
20 mai 2010 à 14:59
il y a de fortes chances pour que l'erreur vienne de cette ligne ^^
<FORM METHOD=GET ACTION="traitement.php">
soit tu mets method=post
soit tu remplaces les "$_POST" par des "$_GET" dans le .php
<FORM METHOD=GET ACTION="traitement.php">
soit tu mets method=post
soit tu remplaces les "$_POST" par des "$_GET" dans le .php
V4lkYr
Messages postés
38
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
20 mai 2010 à 17:20
20 mai 2010 à 17:20
copie ça normalement ça devrait marcher
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Annuaire 3H </title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content=" formulaire" />
</head>
<body>
<h1> Rechercher une personne </h1>
<FORM METHOD=GET ACTION="traitement.php">
<input type=text name="champs_nom">
<input type=submit name="valider" value="valider">
</FORM>
</body>
</html>
<?php
if (isset ($_POST ['champs_nom'])) {
extract ($_POST) ; //extrait tous les index de $_POST, le nom de la variable
// sera le nom de l'index
$query = 'select * from info_personne where nom like '.$champs_nom.'% order by nom ;' ;
//connxion à ta BD
$cnx=mysql_connect('localhost','root','');
mysql_select_db('annuaire3h',$cnx);
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo $key.' -> '.$value ;
}
//déconnexion de ta BD
mysql_close($cnx);
}
else echo 'le champs nom n\'est pas rempli' ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Annuaire 3H </title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content=" formulaire" />
</head>
<body>
<h1> Rechercher une personne </h1>
<FORM METHOD=GET ACTION="traitement.php">
<input type=text name="champs_nom">
<input type=submit name="valider" value="valider">
</FORM>
</body>
</html>
<?php
if (isset ($_POST ['champs_nom'])) {
extract ($_POST) ; //extrait tous les index de $_POST, le nom de la variable
// sera le nom de l'index
$query = 'select * from info_personne where nom like '.$champs_nom.'% order by nom ;' ;
//connxion à ta BD
$cnx=mysql_connect('localhost','root','');
mysql_select_db('annuaire3h',$cnx);
$result = mysql_query ($query) ;
while ($row=mysql_fetch_assoc($result)) {
foreach ($row as $key=>$value) echo $key.' -> '.$value ;
}
//déconnexion de ta BD
mysql_close($cnx);
}
else echo 'le champs nom n\'est pas rempli' ;
?>
malheureusement ça me renvoi toujours une page blanche. ou alors quand je l'insère dans mon projet zend comme ça :
rechercherpersonne.phtml :
GererpersonnesController :
rechercherpersonne.phtml :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Annuaire 3H </title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="description" content=" formulaire" /> </head> <body> <h1> Rechercher une personne </h1> <FORM METHOD=GET ACTION="rechercherpersonne"> <input type=text name="champs_nom"> <input type=submit name="valider" value="valider"> </FORM> </body> </html>
GererpersonnesController :
<?php require_once 'Zend/Controller/Action.php'; class GererPersonnesController extends Zend_Controller_Action { ... public function rechercherpersonneAction(){ $champs_nom = $_GET ['champs_nom']; if (isset ($_GET ['champs_nom'])) { extract ($_GET) ; //extrait tous les index de $_POST, le nom de la variable // sera le nom de l'index $query = 'select * from info_personne where nom like '.$champs_nom.'% order by nom ;' ; //connxion à ta BD $cnx=mysql_connect('localhost','root',''); mysql_select_db('annuaire3h',$cnx); $result = mysql_query ($query) ; while ($row = mysql_fetch_assoc($result)) { foreach ($row as $key=>$value) echo $key.' -> '.$value ; } //déconnexion de ta BD mysql_close($cnx); } else echo 'le champs nom n\'est pas rempli' ; }