aide pour mon moteur de recherche

Résolu
kroland Messages postés 15 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 13 août 2005 - 27 juil. 2005 à 03:27
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012 - 27 juil. 2005 à 14:16
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

kroland Messages postés 15 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 13 août 2005
27 juil. 2005 à 14:07
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?
3
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
27 juil. 2005 à 05:55
Salut,

Essais comme ça



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



++

Zlub
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
27 juil. 2005 à 13:54
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%'
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
27 juil. 2005 à 14:16
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>
0
Rejoignez-nous