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

Diskuze na Lopuchu,
pohlazení na duchu

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: jkmyzkz
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 26.2.2008 19:02  670
tak kdybysi nekdonevedelradytak ja uz uspesne replikuju :c]
nevite nekdo jak nejak jednoduse dat cely databazi read-only? umim to aplikovatjen na server, ne na db...
noire noire svět není jen černobílý 26.2.2008 17:34  669
diky za odpovedi... Sednu si k tomu a prijdu na to kde delam chybu.
knedle knedle online - Krabice živých 26.2.2008 16:38  668
jasne, takze:

beru ze ta tva tab :tab: ma napr tuto strukturu:
- soubor
- ip
- datumcas (datetime)
- domena (nepodstatne, pripadne muzes dat jako dalsi podminku v group by)

tj. tvuj select pro zjisteni poctu by byl nasledujici:

select count(ip) from tab 
where 
 soubor = 'a' 
 and date_format(datumcas, "%Y-%m-%d") = CURRENT_DATE() 
group by (ip)


snad nejdu kanonema na vrabce
pepak pepak - Pepak.net 26.2.2008 16:36  667
Ten tvuj pristup bys ovsem mohl upravit na IMHO velice rozumnou alternativu "maximalne 5 stazeni za 24 hodin":

$okamzik = datetime_to_sql(time()-86400);
SELECT COUNT(id) FROM tabulka WHERE datum_a_cas>$okamzik
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?

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

(c) 2001-2011 Lopuch.cz   
Kontakt