Pb récupération d'une variable

Résolu/Fermé
sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008 - 29 juin 2008 à 01:37
 Utilisateur anonyme - 29 juin 2008 à 03:10
Bonjour à tous,

je débute en php donc soyez indulgents. Voici mon cas:

je souhaite ajouter sur un site un module de recherche qui irait chercher des infos dans une base de données.

j'ai pour cela 3 fichiers:

- index.html qui contient le formulaire de recherche
- connect.php qui contient les identifiants de connection à la base
- result.php qui execute et affiche les résultats

Mon problème est que je n'arrive pas à récupérer la variable correspondant à la recherche de l'utilisateur.

Voici les fichiers:

index.html


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

Entrez un mot clé:<br>

<input type="text" name="mot" size="15">

<input type="submit" value="Recherche" alt="Lancer une recherche">

</form>


connect.php


<?php

/*Connexion a la base*/
$connect = mysql_connect('localhost', 'root', '') or die(mysql_error());

?>


result.php


<?php
/*Connexion au fichier de connexion à la base*/
include_once('connect.php');

/*Selection de la base de donnée mysql */
mysql_select_db("base", $connect);


/*Vérification de la présence d'un mot et message erreur*/
if(!$mot = '') {
echo ("Vous devez saisir un mot clé.");
}

else {
/*Selection des enregistrements contenant le mot clé dans la table*/
$reponse = mysql_query("SELECT * FROM table
WHERE theme LIKE '$mot'
OR pays LIKE '$mot'
OR ville LIKE '$mot'
OR titre LIKE '$mot'
OR contenu LIKE '$mot'
ORDER BY date");
}

/*Boucle et affichage des résultats :*/

while ($donnees = mysql_fetch_array($reponse) )
{
echo $donnees['theme'];
echo "<br />";
echo $donnees['pays'];
echo "<br />";
echo $donnees['ville'];
echo "<br />";
echo $donnees['titre'];
echo "<br />";
echo $donnees['contenu'];
echo "<br />";
echo $donnees['date'];
}

// Déconnexion de MySQL
mysql_close();
?>


Merci d'avance pour votre aide
A voir également:

3 réponses

Utilisateur anonyme
29 juin 2008 à 02:14
Salut tu dois tout simplement récupérer ton mot grâce à $_POST['mot'] dans ta page result.php.
Tu n'as qu'à placer ceci après la sélection de ta base de données :
$mot = $_POST['mot'];
0
sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008 1
29 juin 2008 à 02:44
Merci du tuyau mais il m'affiche toujours le même message d'erreur:

Vous devez saisir un mot clé.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\perso\result.php on line 29

Cette ligne correspond à la ligne de la boucle:

while ($donnees = mysql_fetch_array($reponse) )


Merci de ton aide en tout cas
0
Utilisateur anonyme
29 juin 2008 à 02:47
if(!$mot = '') { 
echo ("Vous devez saisir un mot clé."); 
} 

Ta condition n'est pas bonne :
if($mot == '') { 


De plus, tout ceci :
while ($donnees = mysql_fetch_array($reponse) ) 
{ 
echo $donnees['theme']; 
echo "<br />"; 
echo $donnees['pays']; 
echo "<br />"; 
echo $donnees['ville']; 
echo "<br />"; 
echo $donnees['titre']; 
echo "<br />"; 
echo $donnees['contenu']; 
echo "<br />"; 
echo $donnees['date']; 
} 

doit être mis dans ta boucle else, car là tu fais une boucle sur rien si ça passe dans ton if. En effet, ta variable $reponse ne sera pas créée.
0
sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008 1
29 juin 2008 à 03:01
Merci encore pour la correction mais il m'affiche par contre toujours l'erreur au niveau de la ligne de la boucle.

Je dois avoir une erreur au niveau de la selection des enregistrements pourtant tout me semble correct.
0
Utilisateur anonyme > sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008
29 juin 2008 à 03:02
As tu lu ce que j'ai marqué jusqu'au bout?
0
sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008 1
29 juin 2008 à 03:02
Merci je vais regarder cela de plus près.

Je te tiendrais au courant
0
sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008 1 > sopra74 Messages postés 22 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 1 juillet 2008
29 juin 2008 à 03:09
Ca marche !!! Merci beaucoup !!! Bonne nuit
0
Utilisateur anonyme
29 juin 2008 à 03:10
De rien, bonne nuit à toi :)
0