Pb avec programme de recherche

Résolu
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un nouveau problème de programme PHP.
Partant de ce code trouvé sur PHP Debutant, je voudrai le modifier en plaçant une variable.
$sql = "SELECT * FROM famille_tbl WHERE prenom LIKE '%MA%'";

en remplaçant %MA% par une variable.
Ainsi, ma recherche se ferai à partir d'un élément du contenu d'une colonne de ma base.
Exemple pour recherche "salut ma poule" qui est dans ma base, je tape "ma" et il me trouve tout ce qui contient "ma".
"ma" serai tapé dans un formulaire qui lancerai la recherche. De cette manière, "ma" serai le contenu d'une variable.
J'ai essayé différents essai mais j'y arrive pas.
Voici mes essais:
$sql = 'SELECT * FROM dk_travaux WHERE nom LIKE '%$_SESSION["nom"]%'';
$sql = 'SELECT * FROM dk_travaux WHERE nom LIKE '%'.$_SESSION["nom"].'%'';
$sql = "SELECT * FROM dk_travaux WHERE nom LIKE '%'.$_SESSION["nom"].'%'";


A chaque fois j'ai un message d'erreur...

Pourriez-vous m'aider?

8 réponses

djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   95
 
Et ton formulaire c'est quoi au juste ?

Ca serait pas plutot $_POST['nom'] au lieu de $_SESSION ?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
A vrai dire j'ai ça en debut de code:
$_SESSION["nom"] = $_POST["nom"];

Je l'ai mis dans l'éventualité où j'aurai besoin de faire suivre ces infos par la suite.
0
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   95
 
Si tu fais un echo $_SESSION['nom'] , ca donnes quoi ?

Et ensuite, quel est ton message d'erreur ?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Le echo $_SESSION['nom'] m'affiche correctement mon texte. Je pense que mon problème c'est que j'arrive pas à l'intégré correctement à ma fonction de recherche.

En mettant:
$sql = "SELECT * FROM dk_travaux WHERE nom LIKE '%'.$_SESSION["nom"].'%'"

J'ai:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/140/sdc/c/2/darkentworld/travaux/traitement_nom.php on line 10
0

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

Posez votre question
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   95
 
Essayes :

$sql = " SELECT * FROM dk_travaux WHERE nom LIKE '%$_SESSION[\'nom\']%' ";


ou

$sql = " SELECT * FROM dk_travaux WHERE nom LIKE '%$_SESSION[nom]%' ";
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
La première solution me réponds:
Parse error: syntax error, unexpected T_BAD_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/140/sdc/c/2/darkentworld/travaux/traitement_nom.php on line 10


Toutefois la deuxième solution semble marché. En tout cas elle m'affiche un résultat qui semble correspondre à ce que je voulais.
Merci beaucoup pour ton aide.
0
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   95
 
$sql = " SELECT * FROM dk_travaux WHERE nom LIKE '%$_SESSION[\"nom\"]%' ";

Peut etre que ca marcherait ?

Sinon ravis de t'avoir aidé, c'est vrai que c'est un gros casse tete ces simple et double quotes parfois !
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Non mais en fait
$sql = " SELECT * FROM dk_travaux WHERE nom LIKE '%$_SESSION[nom]%' ";
avait focntionné correctement.
Maintenant pour finaliser mon programme j'ai un problème de date mais j'ai fait un autre topic pour ça.
Merci encore.
0