Autor Zpráva
Bruno
Profil *
Zdravím, rád bych se zeptal na jednu věc. Mám nějaké klasické načítání z databáze asi takto:

$dotaz = MySQL_Query("SELECT * FROM slovicka WHERE kategorie = 'it' ORDER BY id DESC");
if(!$dotaz):
echo "Chyba při načítání vzkazů z databáze...";
else:
while($zaznam = MySQL_Fetch_Array($dotaz)):
$vzkaz = NL2BR($zaznam["vzkaz"]);

endwhile;
endif;


Rád bych se zeptal, jak zjistím počet prvků v databázi. Kolik je maxímální číslo ID. Děkuji. Bruno
nightfish
Profil
Rád bych se zeptal, jak zjistím počet prvků v databázi
mysql_num_rows($dotaz)

Kolik je maxímální číslo ID.
select max(id) from slovicka
Leo
Profil
"Kolik je maxímální číslo ID"

K cemu to potrebujete vedet? Neresil by to auto_increment? Leo
bohyn
Profil
Bruno, nightfish
MAX(id) nemusi fungovat vzdy, spolehlivejsi je:
SELECT Auto_increment FROM information_schema.tables WHERE table_name='slovicka'

Ale jinak souhlasim s Leo
Kajman_
Profil *
bohyn
Poslední přidělené id nemusí být to samé, jako maximální číslo id. Pokud se nejvyšší smaže, tak increment nezmenší, ale nejvyšší se změní.
bohyn
Profil
Kajman_
To je to o cem sem psal :)
Kajman_
Profil *
Píšeš, že max(id) nemusí fungovat vždy, ale právě opak je pravdou. Na zjištění "maximálního čísla ID" je to to pravé a information_schema naopak nelze použít. Tazatel se ptal na maximální id, proto je správné řešení nightfishe a Tvoje nemusí být přesné.
igamenir
Profil
max(id) nefunguje, pokud není žádný prvek ;)
ale IFNULL pomůže, a pak je to bez problémů
nightfish
Profil
igamenir
max(id) nefunguje, pokud není žádný prvek ;)
na otázku: jaká je hodnota nejvyššího prvku prázdné množiny?
je správná odpověď:
a) žádná taková hodnota neexistuje
b) 1
(samozřejmě v kontextu předchozí debaty)

jinak chudák Bruno, při zadávání otázky asi netušil, kam se dobereme
Leo
Profil
"jinak chudák Bruno, při zadávání otázky asi netušil, kam se dobereme"

Otazka je jestli vi, k cemu se chce dobrat on. Leo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0