Posez votre question Signaler

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

ekudarius 174Messages postés mercredi 21 février 2007Date d'inscription 21 mai 2008Dernière intervention - Dernière réponse le 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
Lire la suite 
Réponse
+6
moins plus
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>" ;
}
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+3
moins plus
Alors déjà, corrige cette ligne comme ça :

echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"" . $ligne['NOMUTILISATEUR'] . "\"></td>";
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+2
moins plus
Petit problème :

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

line 37 : </html>

je vois pas :(
Ajouter un commentaire
Réponse
+2
moins plus
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 ;
Ajouter un commentaire
Réponse
+2
moins plus
$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>
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
Il te manque certainement une }

verifies bien qu'a chaque {
tu as bien une }
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
tu mets dans ta requette

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

$critere c'est les premières caractères tapés
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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!!!!!! ^^
Ajouter un commentaire
Réponse
+1
moins plus
merci ton code marche tres bien .
comment pourrai je les afficher dans un formulaire pour que je puisse apporter des modifications?
Ajouter un commentaire
Réponse
+1
moins plus
voila la ligne 19
echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";


merci pour tout
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Réponse
+0
moins plus
que contient la ligne 19 ?

l'erreur est peut être ligne au dessus
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
merci pour la correction
le code fonctionne tres bien
Ajouter un commentaire
Réponse
+0
moins plus
De rien, bonne journée.

Passe ce poste en tant que résolu ;-) ^^
Ajouter un commentaire
Réponse
-1
moins plus
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?
Ajouter un commentaire
Réponse
-1
moins plus
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
zt- 19 avril 2012 à 14:11
je suis en train de creer un reseaux social et je cherche le code php de partage de vidéo
Répondre
Ajouter un commentaire
Ce document intitulé «  [PHP/MYSQL] Recherche sur une base de donnée  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.