Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Když diskuse,
tak s Lopuchem

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: poawglr
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
pepak pepak - Pepak.net 26.2.2008 16:35  666
Myslim si, ze si to zbytecne komplikujes. Ano, slo by to napsat primo v SQL a fungovalo by to, ale pokud nemas specialni duvod pro uchovavani casu stazeni, tak ja bych to resil pres tabulku downloady(datum,pocet): Pri pozadavku bych si pro datum zkontroloval pocet. Pokud je NULL, tak insert noveho zaznamu do tabulky, pokud je mensi nez 5, tak update existujiciho zaznamu, jinak rovnou odmitnuti. Idealne to cele v jedne ulozene procedure.

Kazdopadne pristup

mysql_query('SELECT nedejboze_hvezdicku FROM tabulka WHERE ...');
if (mysql_num_rows > 5) ...

je asi nejhorsi mozny. Aspon pouzij

mysql_query('SELECT COUNT(id) FROM tabulka WHERE ...');
list($pocet) = mysql_fetch_row(...);
if ($pocet > 5) ...
noire noire svět není jen černobílý 26.2.2008 16:09  665
knedle:chci nabidnout ke stazeni zip soubor, ovsem jen 5 lidem behem kazdeho dne.
Po kliknuti na stazeni souboru do mysql nasbiram cas (aktual_time), ip, soubor, domena, pak dojde diky hlavicce k reloudnuti, takze vypis na strance je aktualni.
Problem mam spis v tom zpracovani dat.
Dulezity je pro me cas.
Jak uz jsem psal:
--------------------------
Zkousel jsem to resit takhle:
udelal jsem si vcerejsek > time()-86400 a v db dotazu porovnavam ...WHERE aktual_time > $vcera...
a pak ...if (mysql_num_rows($navstev_dnes) > 5)... me vyplivne "mate smulu" atd...
--------------------------
misto "navstev_dnes" by melo byt spis "pocet_stahnuti_dnes".
Ta podminka v db dotazu bude asi kravina...
Laicky receno, chci vyfitrovat z db pocet stahnuti behem aktualniho dne (dneska), ignorovat predchozi dny a pokud jich bude dnes 5, soubor uz nebude aktivni ke stazeni, proste zase az zitra.
Myslel jsem si, ze ta ma primitivni konstrukce bude dostacujici, ale nechova se to podle ocekavani.
Logicky dnes v 00:01 uz mel byt odkaz aktivni pro dalsich 5 stahovacu, ale ouha, jako kdyby nenastal dalsi den.
knedle knedle online - Krabice živých 26.2.2008 15:34  664
trosku nastin db, ja to nejak nepobral
- co jsou polozky? uzivatele nebo to co chces ukazat?

pokud logujes prihlasene uzivatele, tj. zapisujes si jejich posledni cas loginu, tak jen spocitej jejich pocet v aktualni den

pokud logujes zobrazni stranky, asi musis k ni mit ulozeno krom datumu i neco navic, at se ti nestane, ze si nekdo 5x reloadne stranku pak (napr id prihlasneho, nebo nejakje jinej identifikator - ip?)
opet pak spocitas pomoci distinctu pocet zobrazeni k uzivateli
noire noire svět není jen černobílý 26.2.2008 12:05  663
zas jeden amatersky dotaz :-)Kazdy den chci prvnim 5 lidem ukazat nejake polozky.
Samozrejme mam ukladane v db (mysql) pristupy k polozkam i aktualni cas.
Teoreticky kazdy den se mrkne jen 5 lidi a sesty a dalsi uz maji smulu.
Zkousel jsem to resit takhle:
udelal jsem si vcerejsek > time()-86400 a v db dotazu porovnavam ...WHERE aktual_time > $vcera...
a pak ...if (mysql_num_rows($navstev_dnes) > 5)... me vyplivne "mate smulu" atd...
mno jenze se to chova prapodivne.
Napr. v db je predchazejici den uz plny (5 zaznamu), dnes jsou 3 nahledy volne (2 zaznamy), ale ve vypisu vidim, ze jsou volne jen 2 zaznamy.
O pulnoci by melo dojit k "vynulovani" a zase by prvnich 5 melo moznost nahledu.
Ale smula.
Muzete me nekdo nakopnout?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 25.2.2008 17:05  662
Replikujete někdo v mysql?se ptam nez budu mit konkretni dotazy...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 21.2.2008 16:04  661
jooo, uz sem to vobjevil, to by melo jit, diky...
pepak pepak - Pepak.net 21.2.2008 16:03  660
group_concat se to myslim jmenovalo.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 21.2.2008 16:01  659
možná to tu někde bylo... jinak by mě to ani nenapadlo, neumí mysql rovnou spojit celej sloupec co dorazi ze selectu jako 'concatenate'?, proste jaksi transponovat?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 18.2.2008 14:30  658
jezis, nojo, kurna, to vono, diky...
huh huh 18.2.2008 14:29  657
tvx [656]: jo, ale na uplne blbim miste, ty potrebujes alias az za tou zavorkou, ne uvnitr
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 18.2.2008 14:27  656
SELECT nazev, hodnota FROM parametry LEFT OUTER JOIN ( SELECT hodnota, p_ID FROM katalog_parametry AS hodnoty WHERE k_ID=10132 ) ON PID=p_ID WHERE s1_ID=28;
to je ten alias ne?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 18.2.2008 14:26  655
parametry: PID, s1_ID, nazev (s1id omezuje vyber)
katalog_parametry: p_ID, k_ID, hodnota
PID=p_ID spojuje ty tabulky spolu ale proc delam subquery je, ze potrebuju vybrat vsechny parametry co prichazeji v uvahu pro s1_ID, fakt VSECHNY a k nim pripojit parametry pro dane K_ID. cokoli bez subselectu mi aspon v me logice vzdy bud poda moc nebo malo :c]
huh huh 18.2.2008 14:24  654
Dokumentace: Subqueries in the FROM clause
huh huh 18.2.2008 14:23  653
tvx [652]: aha, ty nevis, co je alias :-) za tim ( SELECT hodnota, p_ID FROM katalog_parametry AS hodnoty WHERE k_ID=10132 ) musi nasledovat neco jako jmeno, kterym to pojmenujes
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 18.2.2008 14:19  652
no, samo ze davam! aspon teda doufam ze spravne..
koukej:
SELECT nazev, hodnota FROM parametry LEFT OUTER JOIN ( SELECT hodnota, p_ID FROM katalog_parametry AS hodnoty WHERE k_ID=10132 ) ON PID=p_ID WHERE s1_ID=28;

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt