Probléme de reflexion en php

Résolu/Fermé
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 25 févr. 2008 à 13:40
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 25 févr. 2008 à 16:25
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...
A voir également:

7 réponses

PunKeR77 Messages postés 166 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 7 janvier 2011 43
25 févr. 2008 à 13:45
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
}
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
25 févr. 2008 à 13:46
$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
0
Zabuza66 Messages postés 368 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 26 novembre 2008 66
25 févr. 2008 à 13:52
Pense à utiliser un ! devant tes variables

http://www.tayo.fr/savoir-si-une-variable-a-du-texte-en-php-grce--!-astuce.php
0
TechAndCo Messages postés 252 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 4 octobre 2010 20
25 févr. 2008 à 14:21
Bonjour,

Ajoutes des % % pour ton POST: LIKE %'.$_POST['tavar'].'%' pour que ça recherche ton auteur dans le nom complet :)

A bientot.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
25 févr. 2008 à 15:49
<?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
}
}
?>
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
25 févr. 2008 à 16:09
quelqu'un a une idée de pourquoi ca ne marche pas??
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
25 févr. 2008 à 16:25
c'est bon cela marche bien avec la proposition de croy donc merci a lui
0