Autor | Zpráva | ||
---|---|---|---|
Kiwwik Profil * |
#1 · Zasláno: 26. 10. 2008, 14:44:43
ahojte pomocou tochto kodu sa pokusam vypisat priatelov usera ktory su online
mam tabulky mitglieder user_id / id usera user / user password / passwod ... last_login / posledny prihlaseny ve formatu time() v databeze to ulozuju do varchar(64) freunde id user_id / id usera kterej poslal pozadavku o pratelsky user_id_freund / id usere kterej pozadavku muze prijat freunde / kdys user neprijme tak 0 kdys prijme tak 1 <?php $time23 = (time()-60*15); $sql202=mysql_query("select * from freunde,mitglieder WHERE freunde.user_id_freund = '$user_id_session' OR freunde.user_id = '$user_id_session' AND freunde.freunde = '1' AND mitglieder.last_login>'".$time23."' AND mitglieder.online = '1' GROUP BY mitglieder.user_id") or die (mysql_error()); if (mysql_num_rows($sql202) > 0) { while($result202=mysql_fetch_array($sql202)){ ?> - <?php user_a($result202['user_id']); ?><br /> <?php } } ?> |
||
Kiwwik Profil * |
#2 · Zasláno: 26. 10. 2008, 15:03:30
ale miesto toho aby vypisalo userov online vypise to vsetkych priatelov ....
|
||
Tomashek Profil |
#3 · Zasláno: 26. 10. 2008, 15:03:45
to je ovšem pěkné
|
||
Tomashek Profil |
#4 · Zasláno: 26. 10. 2008, 15:08:18
sry, neviděl jsem příspěvek
|
||
Kiwwik Profil * |
#5 · Zasláno: 26. 10. 2008, 15:16:23
Tomashek
no to neni pekne ... ja nevim proc to tam vypise vsechnych useru kdys sem jasen do where zadal ze tam ma vypsat jenom tych ktery maji online 1 a sou neaktivny max 15 min. |
||
Alphard Profil |
#6 · Zasláno: 26. 10. 2008, 18:19:30
nevím, jak to máte propojené a ani mě to nějak moc nezajímá, ale počítáte s tím, že pokud bude splněna první podmínka před OR, sql už zbytek nebude vůbec vyhodnocovat?
ukládat time() do varchar by v tomto případě sice nemělo způsobovat problémy (maximálně drobné zpomalení), ale není to zdaleka ideální |
||
Kiwwik Profil * |
#7 · Zasláno: 26. 10. 2008, 20:26:22
Alphard
a jak je to pak idealni ? |
||
petr6. Profil * |
#8 · Zasláno: 28. 10. 2008, 22:42:59
počítáte s tím, že pokud bude splněna první podmínka před OR, sql už zbytek nebude vůbec vyhodnocovat
Jinymi slovy, tohle by to melo napravit: ... WHERE (freunde.user_id_freund = '$user_id_session' OR freunde.user_id = '$user_id_session') AND ... |
||
Časová prodleva: 16 let
|
0