Probléme de reflexion en php
Résolu
ladj59
Messages postés
322
Date d'inscription
Statut
Membre
Dernière intervention
-
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit souci j'ai fait unprog qui recherche par champs dans une bdd ais je ne vois pas comment faire pour qu'il me renvoie" aucun résultat na été trouvé" quand je fais une recherche si ce que j'ai tapé n'est pas dans la bdd.
mon code :
<?php
if (($_POST['auteur']!='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']==''))
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE auteur LIKE '".$_POST['auteur']."'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motscle']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
la ca traite juste le c as ou je recherche par auteur(j'ai fait tous les autres cas) mais je voudrais faire now que si rien ne correspond cela m'affiche ' aucun résultat'
je pensais à un truc du style la:
if (($_POST['auteur']!='') || ($_POST['titre']!='') || ($_POST['année']!='') || ($_POST['journal']!='') || ($_POST['motscle']!=''))
{
echo'aucun résultat'
mais il y a des "contradicrtions" car par ex pour le cas ou je recherche par auteur on aura $_POST['auteur']!='' mais il ne faut pas pour autant afficher aucun résultat....
please help me...
j'ai un petit souci j'ai fait unprog qui recherche par champs dans une bdd ais je ne vois pas comment faire pour qu'il me renvoie" aucun résultat na été trouvé" quand je fais une recherche si ce que j'ai tapé n'est pas dans la bdd.
mon code :
<?php
if (($_POST['auteur']!='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']==''))
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE auteur LIKE '".$_POST['auteur']."'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motscle']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
la ca traite juste le c as ou je recherche par auteur(j'ai fait tous les autres cas) mais je voudrais faire now que si rien ne correspond cela m'affiche ' aucun résultat'
je pensais à un truc du style la:
if (($_POST['auteur']!='') || ($_POST['titre']!='') || ($_POST['année']!='') || ($_POST['journal']!='') || ($_POST['motscle']!=''))
{
echo'aucun résultat'
mais il y a des "contradicrtions" car par ex pour le cas ou je recherche par auteur on aura $_POST['auteur']!='' mais il ne faut pas pour autant afficher aucun résultat....
please help me...
A voir également:
- Probléme de reflexion en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Saut de ligne php - Forum PHP
7 réponses
j'ai pas tous lu mais je pense que tu pourrais faire une petite condition du genre :
if (mysql_num_rows ($reponse) == 0)
echo "aucun résultat a afficher";
else
{
//le reste du traitement en cas de réponse
}
if (mysql_num_rows ($reponse) == 0)
echo "aucun résultat a afficher";
else
{
//le reste du traitement en cas de réponse
}
$reponse = mysql_query("SELECT * FROM base_physique WHERE auteur LIKE '".$_POST['auteur']."'"); // Requête SQL
if( mysql_num_rows( $reponse ) == 0
{
.... instructions pour traiter le cas où pas de réponse
}
else
{
while ($donnees = mysql_fetch_array($reponse))
{
... etc
if( mysql_num_rows( $reponse ) == 0
{
.... instructions pour traiter le cas où pas de réponse
}
else
{
while ($donnees = mysql_fetch_array($reponse))
{
... etc
Pense à utiliser un ! devant tes variables
http://www.tayo.fr/savoir-si-une-variable-a-du-texte-en-php-grce--!-astuce.php
http://www.tayo.fr/savoir-si-une-variable-a-du-texte-en-php-grce--!-astuce.php
Bonjour,
Ajoutes des % % pour ton POST: LIKE %'.$_POST['tavar'].'%' pour que ça recherche ton auteur dans le nom complet :)
A bientot.
Ajoutes des % % pour ton POST: LIKE %'.$_POST['tavar'].'%' pour que ça recherche ton auteur dans le nom complet :)
A bientot.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<?php
if (($_POST['auteur']!='') && ($_POST['titre']!='') && ($_POST['année']!='') && ($_POST['journal']=='') && ($_POST['motscle']==''))
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE auteur LIKE '".$_POST['auteur']."' AND titre LIKE '".$_POST['titre']."'AND année LIKE '".$_POST['année']."'");
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motscle']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
}
?>
...... ou tous les autres cas sont aussi gérés
et la à la fin je veux que ca gére ler cas où la recherche ne donne aucun résultat mais ca ne marche pas
quelqu'un a une idée?
<?php
if (($_POST['auteur']!='') || ($_POST['titre']!='') || ($_POST['année']!='') || ($_POST['journal']!='') || ($_POST['motscle']!=''))
{
$reponse2 = mysql_query("SELECT * FROM base_physique");
if( mysql_num_rows( $reponse2 ) == 0 )
{
echo "Aucun résultat ne correspond à votre recherche";
?>
<?php
}
}
?>
if (($_POST['auteur']!='') && ($_POST['titre']!='') && ($_POST['année']!='') && ($_POST['journal']=='') && ($_POST['motscle']==''))
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE auteur LIKE '".$_POST['auteur']."' AND titre LIKE '".$_POST['titre']."'AND année LIKE '".$_POST['année']."'");
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motscle']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
}
?>
...... ou tous les autres cas sont aussi gérés
et la à la fin je veux que ca gére ler cas où la recherche ne donne aucun résultat mais ca ne marche pas
quelqu'un a une idée?
<?php
if (($_POST['auteur']!='') || ($_POST['titre']!='') || ($_POST['année']!='') || ($_POST['journal']!='') || ($_POST['motscle']!=''))
{
$reponse2 = mysql_query("SELECT * FROM base_physique");
if( mysql_num_rows( $reponse2 ) == 0 )
{
echo "Aucun résultat ne correspond à votre recherche";
?>
<?php
}
}
?>