PB en php

Danyco Messages postés 15 Statut Membre -  
Danyco Messages postés 15 Statut Membre -
Salut voila mon probleme c'est que je veut faire une recherche sur des livre d'une base de données et lorsque la recherche ne renvoi aucun resultat elle affiche un message d'erreur. Donc j'ai compter les ligne et lorsque le nombre est egal a 0 alors il affiche sinon il passe dans l'affichage du resultat. le probleme c'est que si je compte les ligne et apres je veut afficher le resultat lorsque le nombre n'est pas nul il ne m'affiche rien et si j'enleve le comptage il s'affiche mais si j'enleve le comptage je vois pas comment savoir si la recherche renvoie des resultat merci de votre aide je vous colle le code pour que vous puissiez voir de vous meme
function compte_ligne($res)
{
$nb=0;
while(odbc_fetch_into($res, &$result))
{
$nb++;
}
echo("$nb");
return $nb;
}

function imprimer_form($res)
{
$nb=compte_ligne($res);
if($nb==0)
{
echo("<h1><p align='center'>Aucun résultat ne correspond a votre recherche</h1>");
}
else
{
?>
<tr align='center'>
<td>
<h2>Auteur</h2>
</td>
<td>
<h2>Titre</h2>
</td>
<td>
<h2>Statut</h2>
</td>
</tr>
<?php
while(odbc_fetch_into($res, &$tuple))
{
echo ("<tr><td><b>$tuple[1]</b>, $tuple[2]</td>");
echo ("<td>$tuple[3]</td>");
if($tuple[4]==true)
{
?>
<td>Emprunté</td>
<?php
}
else
{
?>
<td>Libre</td>
<?php
}
echo("$nb");
}
}
}

3 réponses

  1. Buzzz
     
    Salut Danyco,
    Je ne vois pas trop ou est ton problème je peux pas tester ton code.
    Moi a ta place je n'aurai pas trop melanger PHP et HTML
    autrement dans ta fonction imprimer j'aurai mis:
    echo("<h1><p align=\'center\'>Aucun résultat ne correspond a votre recherche</h1>"); //l.6
    echo ("<tr><td><b>".$tuple[1]".</b>, ".$tuple[2]."</td>");
    echo ("<td>".$tuple[3]."</td>"); //l.25 et 26
    Voila, Bonne Chance et A+
    0
    1. Danyco Messages postés 15 Statut Membre
       
      Salut,
      merci de ta suggestion mais j'ai deja essayer et ca ne change rien mais merci qd meme
      DANY
      0
  2. kalamit
     
    Salut,
    Il existe une fonction capable de te retourner directement le nombre de ligne de ta requete.
    odbc_num_rows
    Ca te fait l'economie d'une boucle et je suis sur que le 0 est geré.

    Kalamit,
    4 jours avant le soleil, la mer et les mouettes. :)
    0
  3. kalamit
     
    function compte_ligne($res) 
    { 
      if (odbc_num_rows($res) != 0){
         return odbc_num_rows($res); 
      }
      else {
        return 0;
      }
    }


    Par exemple.

    Kalamit,
    4 jours avant le soleil, la mer et les mouettes. :)
    0
    1. Danyco Messages postés 15 Statut Membre
       
      Salut ,
      ouai je sais mais odbc num rows me renvoit toujours -1 alors ca me sert a rien mais merci qd meme
      DANY
      0