k cemu je dobre pouzivat LIMIT a WHERE ?

vypada to jako hloupa otazka, ale je tu spousta lidi, kteri se SQL uci zpusobem "pokus - omyl" a neskodilo by tedy pripomenout, ze pokud mam tabulku o nekolika tisicech zaznamu a delam select * from tabulka bez jakekoliv restrikce ziskanych radku, zvysi se tim docela dost provoz na siti mezi webovym serverem a sql a neni to proste dobra vec

o malych tabulkach to plati taky, akorat kvuli nim nikdo nebude mit zablokovany ucet (zdravim qouvadis.wz.cz, opravdu se to nedalo trpet a prepisovat vam to nebudu)
:-) Koukám admin trávi noci studování běhu MySQL
spis napis k cemu sou indexy...
K rychlekšímu procházení tabulkou
Mira tim chtel samozrejme rict:

pouzivejte: SELECT * FROM tabulka

a pak vraceny vysledky tridte pomoci fce. explode popr. RE


ze jsem to Miro uhodl :)))
<HTML>diky, moc jsi mi pomohl ;-)

kdyby to nekdo nepochopil, bylo to mineno jako ironie, tak prosim vas, pouzivejte ten limit a where, nemam ted cas to vysvetlovat ;-)</HTML>
Cely muj zivot je ironie :)

Ale mam cas tak to vysvetlim...

WHERE - je podminene trideni vraceneho vysledku
LIMIT - omezeni poctu vracenych radku

neboli to slouzi jako jakesi IF v mysql

pouziti napr. na chatu by vypadalo nasledovne:

rekneme ze chceme vytahnout zpravy chataru ktery se tykaji jen mistnosti ve ktere se prave nachazi a pocet zobrazovanych zprav bude 30 a budou serazeny podle casu ulozeni

pouzijeme tedy:

SELECT nick, datum, text FROM tabulka_chat WHERE room_id='$room' ORDER BY datum DESC LIMIT 30

neboli slovne:
vyber sloupec nick, datum, text z tabulky tabulka_chat kdyz ID mistnosti je $room, serad podle datumu sestupne a navrat pouze 30 radku (neboli 30 poslednich)


dalsi mozny ukazky pouziti WHERE:

WHERE id < '20' AND id >= '1'

WHERE (cislo > '30' AND cislo < '500') OR cislo = '30'

........

ukazka pouziti LIMIT:

LIMIT 20 - navrati pouze 20 radku

LIMIT 5,10 - vrati pouze radky od pateho po 15 (neboli od 5raku dalsich 10)


jeste vysvetlim ORDER BY protoze se to tyka LIMITu vicemene take:

ORDER BY by se dalo volne prelozit jako: seradit podle

ukazka:
ORDER BY neco ASC - seradi podle "neco" VZESTUPNE
ORDER BY neco DESC - seradi podle "neco" SESTUPNE

takze pokud budou v sloupci napr. "jmena" ulozeny tyto hodnoty:

Richard
Pavla
Michal
Mira
Andrea


a pouzijeme: ORDER BY jmena ASC

vysledek se nam seradi do podoby:

Andrea
Michal
Mira
Pavla
Richard

je i mozne pouzit vice serazeni naraz.. napr:

ORDER BY jmena ASC, datum DESC, ....

myslim ze je nyni jasne mnohem vice


jeste ujasnim ze posloupnost prikazu je:

napred WHERE potom pripadne ORDER BY a nakonec LIMIT



Master school (c) 2003 :)
Teda nebýt toho, že už mám začátky za sebou, ta bys mě tou ironii docela zmát :-)))

Teda dobrá práce. Já nikdy neměl nervy opisovat sem manuál :-) (Teda abys to nepochopil špatně - to tvoje není opsanej manuál)
Až budeš mít čas můžeš tu pokračovat s dalším adminovým tématem: K čemu je Index ;-)
mno, ja myslim, ze od toho tu nejsme
nereknu kdyby se nedala o tomhle najit zadna literatura

jestli se nekdo nudi tak at se mi ozve, je spousta uzitecnejsich veci, ktere bys mohl delat (cimz nechci snizovat Tve zasluhy ;-)
No jo, kdyby všichni nejdřív sáhnuli po nějaké knížce, tak ubyde 80% témat v tomhle auditku. Člověk se musí hodně nudit, aby stačil reagovat na všechny dotazy typu "Nefunguje mi to ..." :-)
Na druhou stranu to ztrácí kouzlo naučit se to podle knížky ;-)
andrew> No, upřímě, skrpity, který jsem stvořil dřív mi fungujou a mnohem jednodušší skript napsanej teď mi nefunguje - a už poněkolikáté - mám lehké podezření, není-li něco shnilého ve státě dánském, tedy jestli není nějáká drobná chybka na MySQL.webzdarma.cz, která znemožňuje funkčnost nových... ehm... třeba... tabulek
<HTML>prisel mi e-mail, reaguji i sem:
> >je spousta uzitecnejsich veci, ktere bys mohl delat
>
> Jake napriklad?
> Rad s necim pomuzu

Vyborne ;-)
To zalezi na moznostech a vuli, je toho dost a ruznych
veci, treba dopsani limitu do php na fsockopen() slibuji
uz nekolik mesicu, ale potreboval bych na to tak jedno
volne odpoledne, kdy by me nikdo neotravoval ;-)

Ale obecne cim nam muzete pomoct: ruzne programovani
(php, cecko), ale to je dost specificka zalezitost,
jinak treba budu vdecny kazdemu, kdo odpovida na dotazy
do fora (at uz jde o dotazy zajimave nebo vylozene hloupe,
bud na ne odpovi nekdo z uzivatelu nebo nakonec ja, takze
i timto mi muzete usetrit casu), nebo treba vytvorte zajimavy
web, za ktery by se webzdarma nemusel stydet a mohli
bychom ho zaradit mezi top10 (kdyz to bude uzitecne,
muzeme na oplatku zvysit kvotu atp.)

nedavno jsem se snazil aktualizovat minimalne pul roku
stare top10 c.2 a 10ti webu, kde by nebyla nejaka velka
bota a zaroven byly uzitecne pro nahodneho navstevnika,
jsem se nedopocital (pravda neprochazel jsem vsechny ;-)
(peknych stranek se da najit vic, ale aby byly zaroven
i obsahove zajimave, to uz je docela problem, ale treba
me upozornite na neco, co by si to zasluzilo)

ps: posilam to zaroven do fora, ale by to mohlo byt zajimave
i pro ostatni

preji hezky den</HTML>
<HTML>> nějáká drobná chybka na MySQL.webzdarma.cz, která znemožňuje
> funkčnost nových... ehm... třeba... tabulek

co to pise za chybu ?
neni to evergreen s resenim "repair table ..." ?</HTML>
Hoj, píše to chybu "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/webz.cz/a/abandonware/writeout.php on line 19!
přičemž onen "result resource" je snad i generován pomocí automatu na mySQL.webzdarma.cz - ještě mě napadá, že je možná nějáká chyba v nastavení mé tabulky - pokud můžeš, koukni se na to nebo tak něco - dával jsem to na kontolu jednomu známýmu, i on mi říkal, že to mám OK - tak bych rád věděl, co konkrétně mám udělat, protože chytrou knihu umím pomalu i šikmo, a nemůžu na to přijít (chyba je na http://abandonware.webz.cz/writeout.php, DB abandonware_13.
Díky...
> MySQL_select_DB("users",$spojeni);

to je blbe
v tom to není - měl jsem to i jinak (MySQL_select_DB("users");
ale ta databaze se proste nejmenuje "users"

nebo mas nejakou jinou dokumentaci nez ja ?
Levý sloupec na mysql.webzdarma.cz:

Hlavní strana
abandonware_13 (1)
users

(Pevně doufám, že ze sebe nedělám idiota a nemám tam mít napsaný "MySQL_select_DB("abandonware_13"))
Ehm... takže vás zdraví Mr.Idiot (tedy já). Díky Míro, až budu multimiliardář, máš u mě schovanou láhev whisky (no a pokud nebudu multimiliardář, tak nic - ale stejně moc dík)