Requête count
Résolu
Bonjour tout le monde.
J'ai un petit problème qui me bloque. Il s'agit de compter le nombre de lignes d'une table Mysql
et de stocker le résultat dans une variable php pour l'utiliser dans une boucle for dans le but d'interpréter chaque ligne de la table.
J'ai 5 champs dans ma table et 8 lignes.
Quand je fais 'SELECT COUNT(*) FROM matable' on me renvoie 5 à chaque fois, même si j'ajoute des champs et des lignes dans ma table. Je ne sais pas où est le problème!!
Voilà mon code php.
Est-ce que quelqu'un pourrait m'aider?
Merci d'avance ^_^
J'ai un petit problème qui me bloque. Il s'agit de compter le nombre de lignes d'une table Mysql
et de stocker le résultat dans une variable php pour l'utiliser dans une boucle for dans le but d'interpréter chaque ligne de la table.
J'ai 5 champs dans ma table et 8 lignes.
Quand je fais 'SELECT COUNT(*) FROM matable' on me renvoie 5 à chaque fois, même si j'ajoute des champs et des lignes dans ma table. Je ne sais pas où est le problème!!
Voilà mon code php.
<html>
<head>
<title>Déclarations</title>
</head>
<body bgcolor=#2F4F4F>
<?php
/**********************************************************************/
$link=mysql_connect("localhost","root",""); //Connexion au serveur
if(!$link)
{
die('Erreur connexion'.mysql_error());
}
$Db_Select=mysql_select_db('gestionirritants',$link); //Connexion à la base de données
/*************************************************************************/
$sql='SELECT * FROM declarations ';
$req=mysql_query($sql) or die('SQL ERROR'.$sql.mysql_error());
$sql='SELECT COUNT(*) FROM declarations' ;
$n=mysql_query($sql) or die('SQL ERROR'.$sql.mysql_error()) ;
?>
<table border="1" align="center" cellspacing="0" cellpadding="0" >
<tr height="30" bgcolor=#E9967A >
<td align="center" valign="center" width="150">
<b>Date déclaration</b>
</td>
<td align="center" valign="center" width="150">
<b>Titre déclaration</b>
</td>
<td align="center" valign="center" width="150">
<b>Type déclaration</b>
</td>
<td align="center" valign="center" width="150">
<b>Déscription déclaration</b>
</td>
<td align="center" valign="center" width="150">
<b>Valide</b>
</td>
<td align="center" valign="center" width="150">
<b>Non Valide</b>
</td>
</tr>
<?php for ($i = 0; $i < $n ; $i++) {?>
<tr height="30" bgcolor=#E9967A>
<td align="center" valign="center" width="150">
<?php
$data=mysql_fetch_array($req);
echo $data['DateDec'] ;
?>
</td>
<td align="center" valign="center" width="150">
<?php
echo $data['Title'] ;
?>
</td>
<td align="center" valign="center" width="150">
<?php
echo $data['Type'] ;
?>
</td>
<td align="center" valign="center" width="150">
<?php
echo $data['Description'] ;
?>
</td>
<td align="center" valign="center" width="150">
<center><input type="radio" name="check<?php echo $i?>" id="valide<?php echo $i?>" ></center>
</td>
<td align="center" valign="center" width="150">
<center><input type="radio" name="check<?php echo $i?>" id="nonvalide<?php echo $i+1?>" ></center>
</td>
</tr>
<?php } ?>
</table>
<h2></h2>
<center><input type="submit" name="soumettre2" id="soumettre2" value="Historiser les non valides">   
<input type="submit" name="soumettre1" id="soumettre1" value="Soumettre les valides">
</center>
<?php
mysql_free_result ($req);
mysql_close ();
?>
</body>
</html>
Est-ce que quelqu'un pourrait m'aider?
Merci d'avance ^_^
1 réponse
-
ModérateurBonjour,
Si ton but est de connaitre le nombre de lignes retournées par ta requête.... pas besoin de faire une seconde requête pour ça... mysql_num_rows est là pour ça...
$sql='SELECT * FROM declarations '; $req=mysql_query($sql) or die('SQL ERROR'.$sql.mysql_error()); $n= mysql_num_rows($req);