0
Mon tableau MySQL est simple. J'ai 3 domaines:Simple SQL - fonction count
- un index
- une url
- un titre
constituant 20 dossiers. J'essaie de compter le nombre de lignes pour que je puisse paginer avec PHP. Mais count (*) renvoie plus que le nombre de lignes qui sont là, 142 total. Je reçois les mêmes résultats en comptant l'indice.
Qu'est-ce qui me manque?
modifier
Désolé pour le manque d'information précédente, très franchement, je suis gêné par tout cela et se sentent assez stupide. Mais voilà.
Field: i, int(11), PRI, NOT NULL, auto_increment
Field: url, text
Field: title, mediumtext
Le sql:
select count(*) from $table
Le php:
require_once('highlights_db.php');
$query = "select count(*) from highlights";
$connection = mysql_connect($host, $user, $pass);
mysql_select_db($db);
$result = mysql_query($query, $connection);
$pages = mysql_fetch_array($result);
$pages = floor($pages);
for($i = 0; $i < $pages; $i++){
echo "<a href=\"\" class=\"page_dot\"></a><br />\n";
}
pouvez-vous publier l'instruction SQL réelle que vous utilisez? –
S'il vous plaît envoyer des messages: DESCRIBE
aucune instruction SQL, aucune description de la table (même la relation entre la table est assez) .Comment pouvons-nous vous aider? – ariefbayu
Répondre
Comment savez-vous si bien qu'il y a 20 lignes?
Cette requête:
devrait retourner le même nombre de lignes que ce chiffre vous indique:
Si elle ne le fait pas, votre table a probablement été mis à jour entre-temps.
Source
2009-09-04 23:29:09
Essayez
COUNT(i)
ou quelque chose de similaire.Source
2009-09-04 22:49:07
COUNT (*) compte le nombre de lignes - période COUNT (Colonne) compte le nombre de lignes où la colonne nommée contient une valeur non NULL Vous pourriez être sur le bon problème - mais votre description de celui-ci laisse quelque chose à désirer –
Edité pour être moins faux. –
-vous arrive d'avoir des doublons dans votre table et la comparaison
COUNT(*)
avec le nombre d'enregistrements renvoyés par une sorte deSELECT DISTINCT
?C'est la seule explication que je peux voir jusqu'à ce que vous postez les requêtes réelles et leurs resultsets ... (à la fois le « compter » un et une « liste » qui vous a fait voir une différence)
Source
2009-09-05 01:16:59
« pages $ = étage ($ pages); " semble étrange.Est-ce que ce ne serait pas:
$pages = floor($pages);
?Je pense que c'est un problème PHP, pas SQL.
Source
2009-09-10 04:04:25 Cellfish
Questions connexes