Autor | Zpráva | ||
---|---|---|---|
Lopyn Profil |
#1 · Zasláno: 19. 2. 2008, 14:39:14 · Upravil/a: Lopyn
čus mohl by mě pls někdo poradit co mám v tomhle skriptu blbě?
$id_us=$_GET['ids']; if(is_numeric($id_us)) { require_once('db_info.php'); $query = "SELECT * FROM kosik as k LEFT JOIN (user as u,download as d) ON (k.id_user = '$id_us')"; $result = mysql_query($query) or die(mysql_error()); echo mysql_num_rows($result); // zde mi vyjde vybere několikásobně víc přitom v DB mám jen jeden záznam... if(mysql_num_rows($result)>0) { //vypisuju z DB } v kosiku mám jen jednu hodnotu s idcekem ktery skritpu posilam Diky |
||
ninja Profil |
#2 · Zasláno: 19. 2. 2008, 14:43:51
Lopyn: dela ti to kartezsky soucin. Precti si jeste jendou jak se dela spojovani. Chybi ti tam podminka zhruba:
... ON k.id_user = u.id ... |
||
Lopyn Profil |
#3 · Zasláno: 19. 2. 2008, 17:03:17
jj diky mrknu na to
|
||
Lopyn Profil |
#4 · Zasláno: 19. 2. 2008, 21:41:18
to si pleteš s cross joinem. ten vrací kartézký součin...ale i když sem to zkoušel, tak byl výsledek stejný
|
||
Kajman_ Profil * |
#5 · Zasláno: 19. 2. 2008, 21:49:09
user as u,download as d je zkrácený zápis právě cross joinu
|
||
Lopyn Profil |
#6 · Zasláno: 19. 2. 2008, 22:07:38 · Upravil/a: Lopyn
nemám v tom jasno. můžetě mi pls na tomhle případě opravit moje chyby. Já tam cross join prostě nevidim .
tahle sem to zkoušel zrovu : $query = "SELECT * FROM kosik as k LEFT JOIN (user as u,download as d) ON (k.id_user = '$id_us' AND k.id_user = u.id AND d.id = k.id_zbozi)"; |
||
Kajman_ Profil * |
#7 · Zasláno: 19. 2. 2008, 23:12:01
To samé by mohlo být možná takhle...
select * from user u right join kosik k on k.id_user = u.id left join download d on d.id = k.id_zbozi where k.id_user = '$id_us' Ale opravdu nechápu, proč kombinujete kosik a download :-) |
||
Jan Tvrdík Profil |
#8 · Zasláno: 19. 2. 2008, 23:32:21
Kajman_
user u To je přepis, nebo to opravdu MySQL "sežere" i bez toho AS? |
||
Kajman_ Profil * |
#9 · Zasláno: 20. 2. 2008, 09:23:06
Sežere, as je nepovinné.
|
||
Lopyn Profil |
#10 · Zasláno: 20. 2. 2008, 09:34:55
moudrej z toho všeho nejsem, ale fungujeto . tak diky moc
|
||
Lopyn Profil |
#11 · Zasláno: 20. 2. 2008, 10:26:46
jednou mi něco jde pak když už to dělá co jsem chtěl původně, tak to neplní zas věc, která mi předtím šla...
query = "select * ,kosik.id_zbozi as zboz from user u right join kosik k on k.id_user = u.id left join download d on d.id = zboz where k.id_user = '$id_us'"; hází mi to error že nezná sloupec id_zbozi, nevíte prosím kde by moh být problém. |
||
nightfish Profil |
#12 · Zasláno: 20. 2. 2008, 10:38:25
hází mi to error že nezná sloupec id_zbozi, nevíte prosím kde by moh být problém.
obsahuje tabulka `kosik` sloupec `id_zbozi`? případně jak přesně zní ta chybová hláška? |
||
Lopyn Profil |
#13 · Zasláno: 20. 2. 2008, 12:24:44
Unknown column 'kosik.id_zbozi' in 'field list' . kosik obsahuje id_zbozi
|
||
Kajman_ Profil * |
#14 · Zasláno: 20. 2. 2008, 14:25:35
Pro kosik je nasteven alias k, proto musíte psát k.id_zbozi.
|
||
Lopyn Profil |
#15 · Zasláno: 20. 2. 2008, 20:50:34
jo, tak ted všechno frčí:) díky všem
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0