Problème requete mysql

Résolu
tony1239456 Messages postés 41 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008 - 16 oct. 2005 à 14:03
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 16 oct. 2005 à 20:26
Bonjour, j'ai un gros problème avec ma requete mysql. J'ai crée une table avec 6 champs :
id : int(5) - auto_increment
titre : varchar(30)
des : varchar(250)
url : varchar(100)
cles : varchar(250)
mail : varchar(50)
cette table me sert à insérer des sites internets. Ensuite j'ai crée un moteur de recherche pour les sites indexés, voici le formulaire :

<form action="search.php" method="GET">

</form>

Puis dans ma table il y a 1 sites :
- id : 1
- titre : Google
- des : Google est le meilleur moteur de recherche du monde
- url : http://www.google.fr
- cles : Google google moteur de recherche
- mail : rien@rien.fr

Ensuite voici mon script pour rechercher :
<?
$r=$_GET['r'];
include('__conf/mysql_conf.inc');
mysql_connect("$serveur", "$base", "$pass");
mysql_select_db("sonarty");
$requete = mysql_query("SELECT id,titre,des,url,cles FROM sonarty_tout WHERE 'cle' LIKE '%$r%'");
$id=mysql_num_rows($requete);
while ($donnees = mysql_fetch_array($requete) )
{
?>
"><? echo $donnees['titre']; ?>

<? echo $donnees['des']; ?>

Infos : <? echo $donnees['url']; ?> - ID : <? echo $donnees['id']; ?> - Haut de page

<?
}
mysql_close();
?>

Mais quand je tape par exemple :
- Google
- google
- Moteur de recherche
- moteur de recherche

Sa ne m'affiche rien alors que les mots sont exactement ceux que j'ai tapé. J'ai affiché le contenue de ma table pour voire si sa venait de la, mais elle s'affiche très bien. Ensuite j'ai regardé la variable $r pour voir si elle contient des erreurs mais rien.
Maintenant je me demande si ce problème provient de $_GET. Si sa se trouve il faut obligatoirement mettre $_POST, je ne sais pas. HELP PLEASE !!!

PS: je précise je suis hébergé chez jexiste.fr

Tony1239456</STRO< body>

12 réponses

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 16:18
Vlà

<html>

<?php include('metatags/metatags-general.inc');







$r = explode(' ', $_GET['r']);

$last_word = $r[count($r)-1];

while(list($num, $word) = each($r)){

$req = '`cles` LIKE "%'.$word.'%"';

if($last_word != $word){

$req .= ' OR ';

}

}

include('__conf/mysql_conf.inc');

mysql_connect($serveur, $base, $pass);

mysql_select_db('sonarty');

$requete = mysql_query('SELECT id,titre,des,url,cles FROM sonarty_tout WHERE '.$req.';');

$id=mysql_num_rows($requete);

$requete2 = mysql_query('SELECT id,clee FROM sonarty_clee WHERE '.str_replace('`cles`', '`clee`', $req).';');

?>

<head>

<title>Sonarty - Résultat de la recherche</title>

</head>





&nbsp,

<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%">

----,

<?php include('__inc/page-haut.inc'); ?>

</td>

----

,

----

,

----

<?php include('__inc/menu-haut.inc'); ?>

----

,

----

<?
include('__pub/script-pub.php'); ?>,

----

,

----

<table border="0" width="740" cellspacing="0" cellpadding="0">,

<? echo $r; ?> >

</td>

Il y a <?php echo $id; ?> résultat(s)


<?php

while ($donnees = mysql_fetch_array($requete) )

{

?>

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
3
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 16:46
De rien ;-)

Merci pour mon site ;-) une nouvelle version va sortir beaucoup plus rapide, plus design plus de tout !!!!

Pour la recherche c'est echo $_GET['r'];

Oublis pas de mettre réponce acceptée comme ça les prochain n'auront qu'a lire la réponce ;-)

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
3
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 14:51
Salut,

Fait un explode(' ', $r);

@+


Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera lse âges.
0
tony4758 Messages postés 105 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 16 octobre 2005
16 oct. 2005 à 15:07
j'ai mit sa :
<?
$r=$_GET['r'];
explode(' ', $r);
include('__conf/mysql_conf.inc');
mysql_connect("$serveur", "$base", "$pass");
mysql_select_db("sonarty");
$requete = mysql_query("SELECT id,titre,des,url,cles FROM sonarty_tout WHERE 'cle' LIKE '%$r%'");
$id=mysql_num_rows($requete);
while ($donnees = mysql_fetch_array($requete) )
{
?>
"><? echo $donnees['titre']; ?>

<? echo $donnees['des']; ?>

Infos : <? echo $donnees['url']; ?> - ID : <? echo $donnees['id']; ?> - Haut de page

<?
}
mysql_close();
?>

Mais sa ne marche toujours pas, je met Google ou google et sa marche pas.
>>>> Tony 4758 <<<<
0

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

Posez votre question
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 15:16
Re,

$r=$_GET['r'];

$r = explode(' ', $r);

$last_word = $r[count($r)];

while(list($num, $word) = each($r)){

$req = '`cle` LIKE "%'.$word.'%"';

if($last_word != $word){

$req .= ' OR ';

}

}

$requete = mysql_query('SELECT id,titre,des,url,cles FROM sonarty_tout WHERE '.$req.';');

@+





Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
tony4758 Messages postés 105 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 16 octobre 2005
16 oct. 2005 à 15:21
Je te donne ma page entière, j'éspère que tu comprenderas car elle est longue. J'ai inséré ton code, sa m'affiche plein d'erreur :

<html>
<? include('metatags/metatags-general.inc');





$r= $_GET['r'];
$r = explode(' ', $r);
$last_word = $r[count($r)];
while(list($num, $word) = each($r)){
$req = '`cle` LIKE "%'.$word.'%"';
if($last_word != $word){
$req .= ' OR ';
}
}
include('__conf/mysql_conf.inc');
mysql_connect("$serveur", "$base", "$pass");
mysql_select_db("sonarty");
$requete = mysql_query('SELECT id,titre,des,url,cles FROM sonarty_tout WHERE '.$req.';');
$id=mysql_num_rows($requete);
$requete2 = mysql_query("SELECT id,clee FROM sonarty_clee WHERE 'clee' LIKE '%$r%'");
?>
<head>
<title>Sonarty - Résultat de la recherche</title>
</head>



&nbsp,

<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%">
----,
<? include('__inc/page-haut.inc'); ?>
</td>
----

,

----

,

----

<? include('__inc/menu-haut.inc'); ?>

----

,

----

<? include('__pub/script-pub.php'); ?>,

----

,

----

<table border="0" width="740" cellspacing="0" cellpadding="0">,
<? echo $r; ?> >
</td>

Il y a <? echo $id; ?> résultat(s)

<?
while ($donnees = mysql_fetch_array($requete) )
{
?>
"><? echo $donnees['titre']; ?>

<? echo $donnees['des']; ?>

Infos : <? echo $donnees['url']; ?> - ID : <? echo $donnees['id']; ?> - Haut de page

<?
}


mysql_close();



?>

</td>
</tr>
<tr>
<td height="13" background="__img/site_15.png" width="740"></td>
</tr>
<tr>
<td height="13" background="__img/site_14.png" width="740"></td>
</tr>
</table>





</TD>
<TD WIDTH="11" BACKGROUND="__img/site_02.jpg">&nbsp</TD>
</TABLE>


</html>

>>>> Tony 4758 <<<<
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 15:45
Re,

dsl

je m'étais planté en écrivant cles !!

<html>

<?php include('metatags/metatags-general.inc');







$r= $_GET['r'];

$r = explode(' ', $r);

$last_word = $r[count($r)];

while(list($num, $word) = each($r)){

$req = '`cles` LIKE "%'.$word.'%"';

if($last_word != $word){

$req .= ' OR ';

}

}

include('__conf/mysql_conf.inc');

mysql_connect($serveur, $base, $pass);

mysql_select_db('sonarty');

$requete = mysql_query('SELECT id,titre,des,url,cles FROM sonarty_tout WHERE '.$req.';');

$id=mysql_num_rows($requete);

$requete2 = mysql_query('SELECT id,clee FROM sonarty_clee WHERE `clee` LIKE '.str_replace('`cles`', '`clee`', $req).';');

?>

<head>

<title>Sonarty - Résultat de la recherche</title>

</head>





&nbsp,

<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%">

----,

<?php include('__inc/page-haut.inc'); ?>

</td>

----

,

----

,

----

<?php include('__inc/menu-haut.inc'); ?>

----

,

----

<?
include('__pub/script-pub.php'); ?>,

----

,

----

<table border="0" width="740" cellspacing="0" cellpadding="0">,

<? echo $r; ?> >

</td>

Il y a <?php echo $id; ?> résultat(s)


<?

while ($donnees = mysql_fetch_array($requete) )

{

?>

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
tony4758 Messages postés 105 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 16 octobre 2005
16 oct. 2005 à 16:06
sa me met 2 erreurs :
- Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/.filer4/sonarty/www/search.php on line 19
- Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/.filer4/sonarty/www/search.php on line 70

>>>> Tony 4758 <<<<
0
tony4758 Messages postés 105 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 16 octobre 2005
16 oct. 2005 à 16:38
Sa marche !!! Merci beaucoup, mais maintenant comment faire pour afficher le mot recherché car je met echo $r et sa m'affiche Aray ? Merci beaucoup, je n'avai plus d'espoire lol. J'en profite pour te dire que j'adore ton site, je l'ai visité cet apreme !

>>>> Tony 4758 <<<<
0
tony1239456 Messages postés 41 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
16 oct. 2005 à 16:54
Merci beaucoup pour ton aide !!!

Tony123945
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
16 oct. 2005 à 16:58
De rien ;-)

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
16 oct. 2005 à 20:26
"Oublis pas de mettre réponce acceptée comme ça les prochain n'auront qu'a lire la réponce ;-)" C'est utopique je trouve :)
0
Rejoignez-nous