Pb d'affichage d'une condition en php
Résolu
sopra74
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
sopra74 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
sopra74 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voilà je vous expose mon souci. J'ai ci dessous un fichier result.php qui me permet de recupérer une variable tapée dans un formulaire et d'interroger ma bdd.
Le traitement des données:
- verification de la présence d'un mot dans la requete. Cette fonction ne pose pas de pb et le message d'erreur s'affiche correctement.
- interrogation de la base et comptage du nombre de réponses envoyées. Si le nombre est supérieur à zero, cela affiche normalement les resultats. Là aussi ça fonctionne.
Par contre mon problème arrive lorsqu'aucune reponse n'est trouvée: le message avertissant l'utilisateur ne s'affiche pas.
Merci par avance de votre aide.
Ci-dessous le fichier result.php:
<?php
/*Connexion au fichier base*/
include_once('base.php');
/*Récupération du mot recherché*/
$mot = $_POST['mot'];
/*Vérification de la présence d'un mot et message erreur si absence*/
if($mot == '')
{
echo ("Vous devez saisir un mot clé.");
exit();
}
/*SI UNE REQUETE EST PRESENTE*/
/*Selection de la requête*/
$reponse=mysql_query("SELECT * FROM table WHERE titre LIKE '$mot'
OR texte LIKE '$mot'
ORDER BY date");
/*Comptage du nombre de réponses*/
$nb_reponse = count($reponse);
/*Si réponse trouvée dans la base de données*/
if ($nb_reponse != 0)
{
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
}
}
/*Si aucune réponse trouvée*/
else
{
echo ("Aucun résultat ne correspond à votre recherche.");
}
/* Déconnexion de MySQL */
mysql_close();
?>
Voilà je vous expose mon souci. J'ai ci dessous un fichier result.php qui me permet de recupérer une variable tapée dans un formulaire et d'interroger ma bdd.
Le traitement des données:
- verification de la présence d'un mot dans la requete. Cette fonction ne pose pas de pb et le message d'erreur s'affiche correctement.
- interrogation de la base et comptage du nombre de réponses envoyées. Si le nombre est supérieur à zero, cela affiche normalement les resultats. Là aussi ça fonctionne.
Par contre mon problème arrive lorsqu'aucune reponse n'est trouvée: le message avertissant l'utilisateur ne s'affiche pas.
Merci par avance de votre aide.
Ci-dessous le fichier result.php:
<?php
/*Connexion au fichier base*/
include_once('base.php');
/*Récupération du mot recherché*/
$mot = $_POST['mot'];
/*Vérification de la présence d'un mot et message erreur si absence*/
if($mot == '')
{
echo ("Vous devez saisir un mot clé.");
exit();
}
/*SI UNE REQUETE EST PRESENTE*/
/*Selection de la requête*/
$reponse=mysql_query("SELECT * FROM table WHERE titre LIKE '$mot'
OR texte LIKE '$mot'
ORDER BY date");
/*Comptage du nombre de réponses*/
$nb_reponse = count($reponse);
/*Si réponse trouvée dans la base de données*/
if ($nb_reponse != 0)
{
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
}
}
/*Si aucune réponse trouvée*/
else
{
echo ("Aucun résultat ne correspond à votre recherche.");
}
/* Déconnexion de MySQL */
mysql_close();
?>
A voir également:
- Pb d'affichage d'une condition en php
- Excel cellule couleur si condition texte - Guide
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
2 réponses
je m'y connai pas trop en php mais remplace le bout de code
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
}
par cet bout de code :
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
?>
}
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
}
par cet bout de code :
/*Boucle et affichage des résultats :*/
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<b>Titre:</b>
<?php
echo $donnees['titre'];
echo "<br />";
?>
<b>Texte:</b>
<?php
echo $donnees['texte'];
echo "<br />";
?>
}
Il doit probablement me manquer des conditions dans l'interprétation du comptage des réponses.
5 jours que j'ai commencé le php...dur dur...