aide pour mon moteur de recherche [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 14 novembre 2000
Statut
Membre
Dernière intervention
13 août 2005
-
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012
-
j'aurai besoin d'aide pour mon moteur de recherche tout simple que je
tante de concevoir... voila le code que j'ai fai pour le moment :



tou d'abord le formulaire (jusque la pas de prochème... :P) :

<form method="post" action="recherche2.php">





</form>





puis la page qui est sensé afficher le résultat :

<?

//connexion à la base

$db = mysql_connect('localhost','kepon','7044') or die ('erreur de connexion');

//sélection de la base

mysql_select_db('local',$db);

$recherche = $_POST[\"recherche\"];

$sql = 'SELECT * FROM `local`.`mon_memo` WHERE text LIKE '%$recherche%' ' ;

$resultat = mysql_query($sql) ;

//BOUCLE

$i = 0;

while ($eleve = mysql_fetch_array ($resultat))

{

//recupere les info

$id = $eleve['id'];

$text = $eleve['text'];

//tableau

echo\"----
$text, \";

echo\"";

echo '<center>Supprimez</center>,
' ;

}

echo "
</center>";

echo"</table></tr></td>";

echo"
";

mysql_close()



?>

</table>





mon problème est le suivant :

Si je ne mais pa la variable : recherche danc cette ligne:

$sql = 'SELECT * FROM `local`.`mon_memo` WHERE text LIKE '%$recherche%' ' ;



mais que je met directement 'dada" par exemeple comme si dessous :

$sql = 'SELECT * FROM `local`.`mon_memo` WHERE text LIKE "dada" ' ;





et bien ma recherche fonctionne correctement

donc j'aimerai bien savoir LE petit truc qui m'ennui et que je ne voi pas (je présise que je suis assé débutant!!!)



Merci de votre aide!! (en espéran que j'ai été assé claire...)

4 réponses

Messages postés
15
Date d'inscription
mardi 14 novembre 2000
Statut
Membre
Dernière intervention
13 août 2005

Mon problèm a été résolue... c'était :

$sql = 'SELECT * FROM mon_memo WHERE text LIKE "%'.$recherche.'%" ';



MAIS un deusième problème ce pose à moi :

j'ai fai un truc pour ordonné tout cela (avec ORDER BY)

et cette ligne ne fonctionne pas :

$sql = 'SELECT * FROM mon_memo WHERE text LIKE "%'.$recherche.'%" ORDER BY "%'.$tri.'%"';
alors que ma variable $tri existe bien...



quelle serai la bonne syntax?
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
7
Salut,

Essais comme ça



$sql = "SELECT * FROM local,mon_memo WHERE text LIKE '%". $recherche . "%' ;"



++

Zlub
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
regarde des simples guillemets:
$sql = 'SELECT * FROM `local`.`mon_memo` WHERE text LIKE '%$recherche%' ' ;

tu as oublié de mettre des doubles guillement avant et apres '%$recherche%'
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Salut normal
la valeur de ton order by doit etre un nom de champs de ta table mon_memo

$sql = 'SELECT * FROM mon_memo WHERE text LIKE "%'.$recherche.'%" ORDER BY "%'.$tri.'%"'; ben c pas un nom de champ, enfin ton nom de champs peux etre dans une variable bien sur mais les % % c interdis a cette endroit.


<HR>
Loi du plagiat industriel de Felson : <CITE>Voler les idées d'une personne, c'est du plagiat. En voler à plusieurs, c'est de la recherche.</CITE>