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

Résolu/Fermé
ekudarius Messages postés 174 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 21 mai 2008 - 3 févr. 2008 à 15:48
 zt - 19 avril 2012 à 14:11
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

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 févr. 2008 à 22:57
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 févr. 2008 à 20:58
$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>
4
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
8 févr. 2008 à 08:20
Alors déjà, corrige cette ligne comme ça :

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

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

line 37 : </html>

je vois pas :(
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 ;
2
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
3 févr. 2008 à 16:43
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
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 févr. 2008 à 10:31
Il te manque certainement une }

verifies bien qu'a chaque {
tu as bien une }
1
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
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 févr. 2008 à 10:09
tu mets dans ta requette

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

$critere c'est les premières caractères tapés
1
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
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 févr. 2008 à 09:14
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
1
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!!!!!! ^^
1
merci ton code marche tres bien .
comment pourrai je les afficher dans un formulaire pour que je puisse apporter des modifications?
1
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?
1
voila la ligne 19
echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";


merci pour tout
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 févr. 2008 à 22:13
que contient la ligne 19 ?

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

Passe ce poste en tant que résolu ;-) ^^
0
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
3 févr. 2008 à 16:27
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?
-1
ekudarius Messages postés 174 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 21 mai 2008 51
3 févr. 2008 à 16:34
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
-1
je suis en train de creer un reseaux social et je cherche le code php de partage de vidéo
0