[PHP/MYSQL] Recherche sur une base de donnée [Résolu/Fermé]

Signaler
Messages postés
348
Date d'inscription
mercredi 21 février 2007
Statut
Membre
Dernière intervention
21 mai 2008
-
 zt -
Bonjour,

Je m'explique je compte créer une page html avec formulaire ou je rentrerait des champs qui pas la page php enregistrera les données dans la base de donnée.

Lorsqu'une personnes viendra sur une autres page html ou il aura un champ pour entrer un texte alors la pge php prendra la donnée rentré puis la compara avec celle dans la base de donnée puis affichera toute les infos atribué à ce texte.

J'avou c'est flou mais bon ^^

Donc le problème est que je ne sais pas comment effectuer la recherche :(

Pour plus d'info demandé

merci d'avance

22 réponses

Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
Bonsoir,

qqs pb de ' dans la requette, et pour faire l'extraction il manque la boucle while(.....

et es tu sur que NOMUTILISATEUR est en majuscules dans ta table utilisateur ?


$requete= "SELECT * FROM utilisateur WHERE NOMUTILISATEUR LIKE '".$nom."%'";
$resultat= mysql_query($requete,$connection) or die(mysql_error());
mysql_close();
while($ligne=mysql_fetch_array($resultat){
	echo $ligne['NOMUTILISATEUR']."br>" ;
}
11
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63730 internautes nous ont dit merci ce mois-ci

Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
$requete= "SELECT * FROM utilisateur WHERE NOMUTILISATEUR LIKE '".$nom."%'";
$resultat= mysql_query($requete,$connection) or die(mysql_error());
mysql_close();
?>
<form name="ma_form" method="post" action="script_traitement.php">
<table>
<?php
while($ligne=mysql_fetch_array($resultat){
	echo "<tr>";// debut nouvelle ligne
	echo "<td>Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";
	echo"</tr>";//fin 
	echo "<tr>";// debut nouvelle ligne
	echo "<td>autre Champ:</td><td><input type=\"text\" name=\"autre_champ\" value=\"$ligne['autre_champ']\"></td>";
	echo"</tr>";//fin 
	echo "<tr>";// debut nouvelle ligne
	echo "<td>un autre Champ:</td><td><input type=\"text\" name=\"un_autre_champ\" value=\"$ligne['un_autre_champ']\"></td>";
	echo"</tr>";//fin
	echo "-----------------------------------------------------------"; //séparateur
}
?>
</table>
</form>
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
41
Alors déjà, corrige cette ligne comme ça :

echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"" . $ligne['NOMUTILISATEUR'] . "\"></td>";
Messages postés
348
Date d'inscription
mercredi 21 février 2007
Statut
Membre
Dernière intervention
21 mai 2008
42
Petit problème :

Parse error: syntax error, unexpected $end in *********/recherche.php on line 37

line 37 : </html>

je vois pas :(
j'ai appliquer ce que vous m'avez proposé mais il 'y'a une erreur
Erreur de syntaxe près de '' à la ligne 1
voici le code

$nom=$_POST['nom'];

//connexion à la base
$connection= mysql_connect("localhost","root","");
mysql_select_db("projet");
//la requete
$requete= "select * from utilisateur where NOMUTILISATEUR LIKE ".$nom."%";
$resultat= mysql_query($requete,$connection) or die(mysql_error());
echo $resultat ;
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
Ok, c'est une recherche sur la bdd quoi.

mysql_connect("","","");
mysql_select_db("");
//Tu mets tes "coordonnées"

$req=mysql_query("SELECT * FROM matable WHERE nom LIKE ('".$_POST['nom']."')");
while($res=mysql_fetch_array($req)){
echo $res['nom']." - ".$res['numero']." - ".$res['url']."<br>";
}

Dis-moi si ça marche
Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
Il te manque certainement une }

verifies bien qu'a chaque {
tu as bien une }
bonsoir
je veux faire une recherche par quelques lettres ou par un code dans une table utilisateurs.
je m'explique: l'admin doit faire la recherche dans la table utilisateur en entrant queques lettres seulement des noms ou bien le code-utilisateur.et toutes une liste contenant les noms qui débutent par ces lettre sera récupérer de la base.
comment dois je procéder?
merci
Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
tu mets dans ta requette

"SELECT * FROM ta_table WHERE champ LIKE ".$critere."%'"

$critere c'est les premières caractères tapés
ce code m'a afficher le nom de l'utilisateur alors que je voulais afficher toutes les informations
qui se trouvent dans la table utilisateur
Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
Bonjour,

$donnees est un array qui contient toutes les infos d'une ligne de ta table

alors pour afficher le reste


echo "Nom: ".$ligne['NOMUTILISATEUR']." Autre champ: ".$ligne['autre_champ']." Un autre champ: ".$ligne['un_autre_champ']."br>" ;


//etc..

je ne connais pas le libellé de tes autres champs alors tu remplaces.

@lain
merci pour l'info sur la recherche dans une BD ca m'a bien servi!!!

j'ai galéré toute la matiné et je viens de tombé sur cette page.
je suis heureux, grace a vous j'ai fini mon projet ou presque!

un grand merci!!!!!! ^^
merci ton code marche tres bien .
comment pourrai je les afficher dans un formulaire pour que je puisse apporter des modifications?
j'ai appliqué le code(il manquait une parenthese apres $resultat)
on me signale cette erreur
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\site\md_rechercher_client.php on line 19
il s'agit d'un espace blanc je pense mais ou?
voila la ligne 19
echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";


merci pour tout
Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
que contient la ligne 19 ?

l'erreur est peut être ligne au dessus
bonjour,
merci pour la correction
le code fonctionne tres bien
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
41
De rien, bonne journée.

Passe ce poste en tant que résolu ;-) ^^
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
Bonjour,
Je te propose un rapide algorithme:
_Ouvre ta bdd,
_Selection en Sql pour les champs qui ressemblent au texte entré (je ne sais pas si c'est bien ça que tu souhaites faire):
$req=mysql_query("SELECT * FROM matable WHERE lechamp_quetuveux_ex:texte, info... LIKE ('".$variable_qui_contient_letexte_entré."')");
$res=mysql_fetch_array($req);
_Afficher les résultats

C'est ce que tu voulais?
Messages postés
348
Date d'inscription
mercredi 21 février 2007
Statut
Membre
Dernière intervention
21 mai 2008
42
oué c'est sa mais si tu pourait détailler un peu plus ;)

Sinon voila ce que je veu un peu plus détaillé ^^

Une page admin avec 3 champs de formulaire.
Je rentre un nom, un numéro et un url.

Ensuite un utilisateur viens sur mon site et tombe sur une page avec un champs de formulaire seulement.
Il tape un nom et donc on compare se nom avec se rentré dans la base de doné.
Si il est présent dans la bdd alors on affiche les 3 champs à l'utilisateur.

Peut ètre plus précis ? :P
je suis en train de creer un reseaux social et je cherche le code php de partage de vidéo