PDA

Zobacz pełną wersję : Jak policzyć ile jest wierszy w bazie ?



dawhol
30-03-2007, 23:03
próbowałem już $database->getNumRows(); ale wyskakuje mi bład.
jak jeszcze mogę policzyć ile jest wierszy w bazie ;) ;) ?

stone
01-04-2007, 14:01
Możesz zrobić zapytanie w stylu

SELECT COUNT(costam) FROM jos_costam;
i wynik normalnie przez loadResult

albo możesz policzyć już sam wynik

count($costam)

zwiastun
01-04-2007, 22:40
A w ogóle to jest takie polecenie, które liczy ilość wierszy w bazie?
Bo jakoś nie spotkałem.
Policzyć to sobie można ilosć wierszy w konkretnej tabeli

Rybik
01-04-2007, 23:52
function countAllRows() {
global $database, $mosConfig_db;
$total_rows=0;
$database->setQuery("SHOW TABLES FROM `$mosConfig_db`" );
$tables = $database->loadResultArray();
foreach ($tables as $table) {
$database->setQuery("SELECT COUNT(*) FROM `$table`;" );
$total_rows += $database->loadResult();
}
return $total_rows;
}

Nie sprawdzalem ale powinno hulać, globale sa pobierane jak dla mambota, czyli w zalozeniu ze wczytano plik konfiguracyjny i rdzenne klasy Joomla. Kod jest na podstawie bota bot_optimizetables, tyle ze zamiast optymalizowac kazda tabele liczy jej rekordy dodajac do licznika.
Z tego co mi wiadomo, nie istnieje możliwośc wykonania operacji na wszystkich tabelach bez podania ich nazw, stad potrzebne dodatkowe zapytanie zbierajace liste tabel, moze to i przydługawe ale czytelne i bezpieczne.