Diiférence entre résultat sur Mysql et navigateur pour Moteu
Posté : 04 sept. 2007, 08:53
Bonjour,
Voilà j'ai fait un peu de code pour un moteur de recherche avec une première page formulaire (Test1.php) qui renvoie à la page (Recherche.php).
Au début j'ai eu quelques résultats convenables et maintenant le message d'erreur est :
Cela vous aiderait-il si je rajoutais les deux tables correspondantes, 'produit' et 'force' ?
Merci par avance[/php]
Voilà j'ai fait un peu de code pour un moteur de recherche avec une première page formulaire (Test1.php) qui renvoie à la page (Recherche.php).
Au début j'ai eu quelques résultats convenables et maintenant le message d'erreur est :
Ci-dessous le code de la page Test1 :Notice: Undefined index: force in c:\program files\easyphp1-7\www\recherche.php on line 44
<?php /* Date de création: 01/08/2007 */ ?>
<html>
<Title>Test1</Title>
<body>
<?php
?>
Formulaire de recherche :
<form action="Recherche.php" method="Post">
<input name="Recherche" size="10">
<input type="submit" value="Ok" onclick="this.value='Recherche en cour...'">
</form>
</body>
</html>
Ci-dessous le code de la page Recherche :
<?php /* Date de création: 01/08/2007 */ ?>
<html>
<body>
<?php
$host = "127.0.0.1";
$user = "root";
$pass = "";
$bdd = "expeditions";
$table = "force";
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
$Recherche = (isset($_POST['Recherche'])) ? $_POST['Recherche'] : "";
if($Recherche=="")
{
echo "Vous devez taper une recherche.";
}
else
{
// Les deux requêtes ci-dessous donnent le même résultat, c.à.d indefined index
//$requete = "SELECT nom_force FROM $table WHERE `nom_force` LIKE '%". Recherche ."%' ";
//$requete = "SELECT force FROM `force` WHERE `nom_force` LIKE '%". $Recherche ."%' ";
//la requête ci-dessous marche sur Mysql, mais pas dans le navigateur...
//... avec le message d'erreur suivant : Undefined index: force in c:\easyphp1-7\www\recherche.php on line 43
$requete = "SELECT `force`.`nom_force` , `produit`.`nom_produit`
FROM `force` , `produit`
WHERE (
force.id_produit = produit.id_produit
)
ORDER BY `force`.`nom_force` DESC , `produit`.`nom_produit` DESC LIMIT 0 , 30 ";
$rs = mysql_query($requete) or die (mysql_error(). ": <br :>".$requete);
if(mysql_num_rows($rs) == 0)
{
echo 'Aucun résultat ne correspond aux termes de votre recherche.';
}
else
{
44 while($val = mysql_fetch_array($rs)) {echo "<BR>".$val["force"]."<BR>"."<BR>";}
//echo $requete ;
// on ferme la connexion à mysql
mysql_close();
}
}
?>
</body>
</html>
J'ai indiqué la ligne 44 de l'erreur.Cela vous aiderait-il si je rajoutais les deux tables correspondantes, 'produit' et 'force' ?
Merci par avance[/php]