Nombre de resultats

ineuls Messages postés 6 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 3 septembre 2008 - 3 sept. 2008 à 08:40
ineuls Messages postés 6 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 3 septembre 2008 - 3 sept. 2008 à 10:06
salut,

ce bout de code compte le nombre de résultats, mais je ne comprends pas pourquoi ça ne veux pas afficher "aucun résultat" lorsqu'il n'y a pas de résultat. il doit y avoir un problème avec( $nombre_resultats == 0).
si quelqu'un pouvais m'aider
merci d'avance

//nombre de résultats
$nombre_resultats = mysql_num_rows($result)or exit(mysql_error() . "
$selection_recherche"); //compte le nombre d'entrées sélectionnées par la recherche

if ($nombre_resultats == 0) //s'il n'y a pas de résultat
{
    echo '
aucun resultat.[Untitled-2bis.php recommencer]';
}
else //il y a au moins un résultat
{
    echo '
nombre de résultats: ' . $nombre_resultats . '

';
}

7 réponses

cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
3 sept. 2008 à 08:55
salut !

le problème vient plutot des lignes que tu n'a pas poster...
un truc du genre

$query = "SELECT id FROM table";
$result = mysql_query($query) or die("Echec requete de ". $query);

++
0
ineuls Messages postés 6 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 3 septembre 2008
3 sept. 2008 à 09:46
salut putch

merci pour ta réponse mais j'ai bien poster mes lignes.
c'est pour ça que je comprend pas.

$result = mysql_query( $sql['select'] ) or die( 'Erreur MySQL' ); // si erreur

//nombre de résultats
$nombre_resultats = mysql_num_rows($result)or
exit(mysql_error() . "
$selection_recherche"); //compte le
nombre d'entrées sélectionnées par la recherche

if ($nombre_resultats == 0) //s'il n'y a pas de résultat
{
    echo '
aucun resultat.[Untitled-2bis.php recommencer]';
}
else //il y a au moins un résultat
{
    echo '
nombre de résultats: ' . $nombre_resultats . '

';
}
0
cs_Dj Nam Messages postés 26 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 avril 2012
3 sept. 2008 à 09:55
Si tu veux que l'on puisse t'aider il faudrait que tu poste les lignes encore avant, c'est à dire toutes tes lignes concernant la requête SQL
en particulier la ligne qui doit ressembler à cela :
$sql['select'] = "SELECT * FROM ........."
et avant d'utiliser la fonction
mysql_num_rows($var)
il ne faut pas oublier de faire un
mysql_fetch_array($var)

Maxime
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
3 sept. 2008 à 09:57
affiche donc $sql['select'] et vérifie son execution dans ta base de données

++
0

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

Posez votre question
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
3 sept. 2008 à 10:03
euh
et avant d'utiliser la fonction
mysql_num_rows($var)
il ne faut pas oublier de faire un
mysql_fetch_array($var)
non,  mysql_num_rowss'execute sur la ressource que renvoi un mysql_query

cf : http://fr.php.net/manual/fr/function.mysql-num-rows.php

++
0
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 32
3 sept. 2008 à 10:05
Ecris plutot :

if ($nombre_resultats > 0) //il y a au moins un résultat
{

    echo '
nombre de résultats: ' . $nombre_resultats . '

';

}
else //s'il n'y a pas de résultat
{

    echo '
aucun resultat.[Untitled-2bis.php recommencer]';

}
0
ineuls Messages postés 6 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 3 septembre 2008
3 sept. 2008 à 10:06
voici ma fonction qui crée la requête:

public function mkQuery( $table, $select, $champs, $order, $sens, $limit_start, $limit_nb )
    {
        $this->query_where = '';

        if( !is_array( $champs ) )
        $champs = array( $champs );

        $count_champs = count( $champs );

        // si recherche en ET ou OU
        if( $this->option )
        {
            $i = false;
            foreach( $this->words as $key => $value ) // boucle sur les mots
            {
                // si pas première itération
                if( $i )
                $this->query_where .= $this->sep;
                $i = true;

                $this->query_where .= '( ';

                for( $j = 0; $j < $count_champs; $j++ ) // boucle sur les champs
                {
                    if( $j )
                    $this->query_where .= ' OR ';

                    $this->query_where .= '`' . $champs[ $j ] . '` LIKE \'%' . $value . '%\'';

                } // for( $j = 0; $j < $this->count_words; $j++ ) // boucle sur les champs

                $this->query_where .= ' )';
            } // for( $i = 0; $i < $count_champs; $i++ ) // boucle sur les mots
        }
        else // recherche phrase exacte
        {
            for( $i = 0; $i < $count_champs; $i++ ) // boucle sur les champs
            {
                if( $i )
                $this->query_where .= ' OR ';

                $this->query_where .= $champs[$i] . ' LIKE \'%' . $this->words[0] . '%\' ';
            } // for( $i = 0; $j < $count_champs; $i++ ) // boucle sur les champs
        } // else // recherche phrase exacte

        // construction de la requête finale
        $sql array( 'select'> 'SELECT ' . $select . ' FROM ' . $table . ' WHERE ' . $this->query_where, 'count' => 'SELECT count(*) FROM ' . $table . ' WHERE ' . $this->query_where );
       

        if( !empty( $order ) )
        $sql['select'] .= ' ORDER BY ' . $order . ' ' . $sens;
        $this->query_where = $sql['select'];
        if( $limit_nb )
        $sql['select'] .= ' LIMIT ' . $limit_start . ', ' . $limit_nb;

        return $sql;
    }

// création d'objet
$forbidden = array( 'le', 'la', 'des','les','the','a','an');
$s = new dbSearch( $_POST['search_option'], $_POST['Inventeur'],$forbidden );
$sql = $s->mkQuery( 'tls206_person', 'person_ctry_code,doc_std_name_id,corect_person_name,corect_person_adress,postcode', array('corect_person_name'), 'corect_person_name', 'asc', 0, 0 );

// exécution de la requête
$result = mysql_query( $sql['select'] ) or die( 'Erreur MySQL' ); // si erreur

//nombre de résultats
$nombre_resultats = mysql_num_rows($result)or exit(mysql_error() . "
$selection_recherche"); //compte le nombre d'entrées sélectionnées par la recherche

if ($nombre_resultats == 0) //s'il n'y a pas de résultat
{
    echo '
aucun resultat.[Untitled-2bis.php recommencer]';
}
else //il y a au moins un résultat
{
    echo '
nombre de r&eacute;sultats: ' . $nombre_resultats . '

';

?>

merci d'avance pour votre aide
0
Rejoignez-nous