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   -
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   Statut Membre Dernière intervention   43
 
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   Statut Membre Dernière intervention   114
 
$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   Statut Membre Dernière intervention   66
 
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   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   3
 
<?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   Statut Membre Dernière intervention   3
 
quelqu'un a une idée de pourquoi ca ne marche pas??
0
ladj59 Messages postés 322 Date d'inscription   Statut Membre Dernière intervention   3
 
c'est bon cela marche bien avec la proposition de croy donc merci a lui
0