Pb récupération d'une variable
Résolu
sopra74
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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:
- Pb récupération d'une variable
- Récupération de déchets - Guide
- Comment recuperer une video sur youtube - Guide
- Convertisseur récupération de texte - Guide
- Recuperer une conversation whatsapp supprimée - Guide
- Recuperation gmail - Guide
3 réponses
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 :
Tu n'as qu'à placer ceci après la sélection de ta base de données :
$mot = $_POST['mot'];
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.
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