Error when count () less than 1

-1

I have a code that checks how many records an sql query returns.

<?php
if ($results) { $total = count($results); }
if ($total > 0) {
  echo "<p>Encontramos " .count($results). " conteúdo(s) para a sua busca!</p>";
} else {
  echo "<p>Lamentamos mas nenhum conteúdo foi encontrado para a sua busca! Tente novamente...</p>";
}
?>

When you find 1 or more records the message to the user appears right. When nothing is found or is count() = 0 the following error appears:

  

Notice: Undefined variable: total in D: \ xampp \ htdocs \ wareemdahouse \ publication.php on line 164       Sorry, no content was found for your search! Please try again ...

How do I fix it?

    
asked by anonymous 14.09.2017 / 02:56

2 answers

2

Good Flávio. Home I would do something like this!

public function verificaResultados($lista){
     if(isset($lista)){
       $total_results = count($lista);
       if($total_results <= 0){
         echo "nada encontrado";
       }else{
         echo "$lista";// ;D
        }
     } 
}
    
14.09.2017 / 03:25
1

It does not find the total $ variable because it does not go into the if where is the "$ results" and does not initialize the "total $".

Then before I check if the variable "$ results" exists and if it is also an array to be counted.

<?php
if(isset($results)){
    $total = 0;
    if (is_array($results)) { 
        $total = count($results); 
    }else{
        $total = 1;
    }
    if ($total > 0) {
        echo "<p>Encontramos " .count($results). " conteúdo(s) para a sua busca!</p>";
    } else {
        echo "<p>Lamentamos mas nenhum conteúdo foi encontrado para a sua busca! Tente novamente...</p>";
    }
}else{
    echo "<p>Lamentamos mas nenhum conteúdo foi encontrado para a sua busca! Tente novamente...</p>";
}
?>
    
14.09.2017 / 03:21