Pagina 1 din 1

Calculare randuri in tabel din baza de date

Scris: Joi Mar 07, 2013
de alexinio3d
Salutare.
Am nevoie de ajutor; am incercat sa calculez cate categorii am in baza de date si numi arata totalul cum trebuie, deoarece imi arata ca am o categorie si eu in baza de date am 14 categorii facute.
Am incercat cu codul urmator :

Cod: Selectaţi tot

$sql_categorii = mysql_query("SELECT * FROM store_categories");
$total_categorii = mysql_result($sql_categorii, 0);
if($total_categorii == 0){
    echo "<center>Categorii : <font color=\"red\">".$total_categorii."</font></center>";
}
else {
    echo "<center>Categorii : <font color=\"green\">".$total_categorii."</font></center>";
} 

Calculare randuri in tabel din baza de date

Scris: Joi Mar 07, 2013
de MarPlo
Salut
Daca vrei sa calculezi numarul total de randuri dintr-un tabel MySQL, poti folosi direct functia COUNT() in comanda SQL.

Cod: Selectaţi tot

SELECT COUNT(*) AS nrr FROM nume_tabel
Rezultatul va fi retinut in $row['nrr'] .
Poti gasi pe internet mai multe exemple si detalii, la cautare: "count mysql".

Re: Calculare randuri in tabel din baza de date

Scris: Joi Mar 07, 2013
de Avenirer
Marplo are dreptate. Dar daca tot vrei sa faci in felul tau, ai o greseala acolo. Cand scrii asta...

Cod: Selectaţi tot

$total_categorii = mysql_result($sql_categorii, 0);
...tu de fapt inmagazinezi o resursa MySQL in variabila $total_categorii. Atunci cand vrei sa afisezi resursa MySQL cu echo mereu iti va da fie "1" (cand resursa returnata are date), fie "0" (cand resursa returnata nu are date).
Trebuia de fapt sa faci ceva de genul:

Cod: Selectaţi tot

<?php
$sql_categorii = mysql_query("SELECT * FROM store_categories");
$categorii = array(); // faci un array in care inmagazinezi toate categoriile
while($row = mysql_fetch_array($sql_categorii))
{
    $categorii[] = $row;
} 
if($categorii == 0){
    echo "<center>Categorii : <font color=\"red\">".sizeof($categorii)."</font></center>";
}
else {
    echo "<center>Categorii : <font color=\"green\">".sizeof($categorii)."</font></center>";
} ?>