comptage de résultats

Eléphant du PHP | 101 Messages

03 avr. 2006, 11:13

bonjour,

j'ai un moteur de recherche qui est lié a mysql:

j'aimerai aussi affiche le nombre de résultat en retour: faire un comptage des données

Quel est le proccessus a suivre?

voici le code du moteur:
// vérifions que la variable a été transmise 
$tabcheckbox = (isset($_POST['checkbox'])) ? $_POST['checkbox'] : null; 
$nom         = (isset($_POST['name']))    ? $_POST['name']     : null; 
$dept        = (isset($_POST['dept']))    ? $_POST['dept']     : null; 

$SQL = "SELECT * FROM recherchehopitaux WHERE 1=1 "; 
if (!empty($nom)) 
{ 
    $SQL .= " AND nom LIKE '%".$nom."%'"; 
} 

if (!empty($dept)) 
{ 
    $SQL .= " AND dept LIKE '".$dept."' "; 
} 

if (!empty($tabcheckbox)) 
{ 
    $SQL .= " AND type IN ('"; 
    $SQL .= implode("','",$tabcheckbox); 
    $SQL .= "')"; 
} 

echo $SQL; 

echo $date; 
echo "<BR><BR><BR>\n"; 

echo "<BR><BR>\n";
$result = mysql_query($SQL) or die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error()); 

//j'ai defini une variable $i pour afficher 5 enregistremnt par ligne 
echo "<TABLE border =\"0\" width=\"100%\" CELLPADDING=\"0\" cellspacing=\"0\">"; 

//initialiser la variable $i a 0 
$i=0; 
while($row = mysql_fetch_row($result)) 
{ 
    if ($i==0) 
     { 
       echo "<TR>"; 
     } 

   //on incremente la variable 
  $i=$i+1; 

   //$row[numero du champ a afficher] 
   echo " <br>$row[1] <br><br>$row[2]<br><br> $row[3]<br><br> $row[4]<br><br> $row[5]<br><br> $row[6]<br><br> <i><b><u>Produits :</i></b></u>$row[7]</td><br><br>"; 
  if ($i==5) 
  { 
  echo "</TR>"; 
  $i=0; 
  } 
} 
echo"</table>";    
mon probleme est que comme il s'agit de variable qui s'ajoute je vois pas comment lui faire comprendre les opérations!!

Tout ce que je sais du comptage c'est du style:
$requete=mysql_db_query(select count(*) from recherche where mots like $phrase order by id";
$nb_total=mysql_result($requete,0,"count(*)");

merci pour votre aide..

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 avr. 2006, 11:25

Tu peux soit faire un autre début de requête avec count(*) auquel tu vas ajouter tes conditions, comme pour l'actuelle

Soit utiliser la fonction mysql_num_rows sur le jeu de résultats que tu récupères