Autor | Zpráva | ||
---|---|---|---|
jirkanovak Profil * |
#1 · Zasláno: 2. 1. 2011, 13:58:16
Zdravím,
mám pro výběr z db Mysql tento výpis: $row = mysql_fetch_array(dotaz("SELECT * FROM skupiny,kapely,videoklipy WHERE skupiny.id = '".$dat2."' && kapely.id = skupiny.id_kapely;")); pro videoklipy potřebuji aby se výpis hodnoty střídal, vím že se to dělá pres rand() ale jak zajistit aby rotoval výpis pouze z tabulky videoklipy? Děkuji všem! |
||
Taps Profil |
#2 · Zasláno: 2. 1. 2011, 14:11:19 · Upravil/a: Taps
jirkanovak:
zkus něco takového $dotaz=mysql_query("SELECT videoklipy.nazev as klip FROM skupiny,kapely,videoklipy WHERE skupiny.id = '$dat2' and kapely.id = skupiny.id_kapely order by rand()"); while($row = mysql_fetch_array($dotaz)){ echo $row["klip"]; } |
||
jirkanovak Profil * |
#3 · Zasláno: 2. 1. 2011, 14:21:03
abych upřesnil,
v "skupiny" jsou údaje jako o skupině, členové atd. V "kapely" je pouze id a jmeno kapely, ve "videoklipech" je odkaz, id potřebuji aby ten odkaz rotoval podle id kapely. V kostce, vyberu jmeno skupiny, objeví se údaje o skupině, členové a jelikož ke každé je třeba 10 videoklipů tak potřebuji aby tyto videoklipy rotovali... Děkuji |
||
Kajman_ Profil * |
#4 · Zasláno: 3. 1. 2011, 08:58:41
order by skupiny.id, rand() |
||
jirkanovak Profil * |
#5 · Zasláno: 3. 1. 2011, 13:10:35
jak zkouším tak stále nic.. :( vypisuje to chybu databáze
|
||
svadla Profil |
#6 · Zasláno: 3. 1. 2011, 13:22:51
jirkanovak:
Jakou chybu a na jaky dotaz? |
||
jirkanovak Profil * |
#7 · Zasláno: 3. 1. 2011, 14:31:10
$row = mysql_fetch_array(dotaz("SELECT * FROM skupiny,kapely,videoklipy WHERE skupiny.id = '".$dat2."' && kapely.id = skupiny.id_kapely;"));
Do tohohle kódu jsem přidal ORDER BY videoklipy.odkaz RAND();")); bohužel to vypisuje chybu databáze. Potřebuji totiž do tohohle zápisu(kódu) přidat hodnotu rand() která by se vztahovala pouze pro "odkazy" které se nacházejí v tabulce "videoklipy" Děkuji všem za radu... |
||
Keeehi Profil |
#8 · Zasláno: 3. 1. 2011, 15:06:15
Toto by mělo být funkční a mělo by to být to, co chceš:
SELECT * FROM skupiny LEFT JOIN kapely ON kapely.id = skupiny.id_kapely LEFT JOIN (SELECT * FROM (SELECT * FROM videoklipy ORDER BY rand() ) AS t GROUP BY t.id ) AS tt ON skupiny.id = tt.id WHERE skupiny.id = '$dat2'; Možná pokud se tu objeví Kajman, tak to napíše lepší. Ale stálo by za to popřemýšlet (vyzkoušet) zda by tři jednoduché dotazy zvlášť by nebyly lepší než tento složitý. Trochu se ztrácím v tvých id, tak si to překontroluj. |
||
Časová prodleva: 13 let
|
0