Problème requete mysql [Résolu]

Signaler
Messages postés
41
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
9 septembre 2008
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
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

Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2005

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 <<<<
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2005

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 <<<<
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2005

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 <<<<
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2005

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 <<<<
Messages postés
41
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
9 septembre 2008

Merci beaucoup pour ton aide !!!

Tony123945
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
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.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"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 :)