webForumDet fria alternativet

WHERE från 2 tabeller

8 svar · 320 visningar · startad av Duffer

DufferMedlem sedan mars 2003429 inlägg
#1

Har aldrig hämtat data från 2 olika tabeller i samma sql sats innan, och nu vill jag bara ha data som uppfyller ett visst krav.

Såhär ser mina tabeller ut:

flygplan
id
flygplan_id
flygplan_info
...

flygplan_bilder
id
flyplan_id
bild_id
bild_placering

Har en liten funktion på startsidan som ska visa de 3 senaste flygplanen men bara ifall dom har en tillhörande bild.

Kan man göra så att den först kollar upp de 3 senaste som har bild och även då hämta ut en bild ur flygplan_bilder.

Vore gött att komma igång med sql lite på "riktigt" :e

Tack så mycket på förhand =)

yohpopsMedlem sedan feb. 20011 198 inlägg
#2
select top 3 fp.id,fp.flygplan_id,fp.flygplan_info,fpb.bild_id,fpb.bild_placering from flygplan fp inner join flygplan_bilder fpb on fp.flygplan_id = fpb.flygplan_id order by fp.id desc

Borde funka.

DufferMedlem sedan mars 2003429 inlägg
#3

fick detta error på den där satsen:

Parse error: parse error, unexpected T_LOGICAL_OR

det kanske är mitt fel? =/

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det låter väl som ett PHP-fel så du får nog visa den koden.

DufferMedlem sedan mars 2003429 inlägg
#5

$connect = mysql_connect($host,$id,$kod);
$condb = mysql_select_db($databas);

$sql = "select top 3 fp.id,fp.flygplan_id,fp.flygplan_info,fpb.bild_id,fpb.bild_placering from flygplan fp inner join flygplan_bilder fpb on fp.flygplan_id = fpb.flygplan_id order by fp.id desc";
$result = mysql_db_query("$databas", "$sql");
WHILE($rad=mysql_fetch_array($result)) or die mysql_error(){

Delar man in datan i variabler såhär:

$flygid=$rad["fp.flygplan_id"]; ?

}

Vet inte riktigt hur jag ska hantera koden =(

DufferMedlem sedan mars 2003429 inlägg
#6

Kanske bör understrykas att jag använder mig av PHP och MySQL

Körde asp förra veckan så nu är jag helt fucked in the middle =/

LarsGMedlem sedan dec. 200012 464 inlägg
#7
$sql = "select fp.id,fp.flygplan_id,fp.flygplan_info,fpb.
bild_id,fpb.bild_placering 
from flygplan fp inner join flygplan_bilder fpb 
on fp.flygplan_id = fpb.flygplan_id 
order by fp.id desc
limit 3";
$result = mysql_db_query($databas, $sql)  or die mysql_error();
WHILE($rad=mysql_fetch_array($result)){
DufferMedlem sedan mars 2003429 inlägg
#8

Vart kom det där TOP 3 ifrån? Finns det i något språk eller så kände inte igen det, men och andra sidan är det ju jag som är nybörjaren här =)

Här ska testas =)

Engine^Medlem sedan dec. 20003 887 inlägg
#9

TOP n är (T-)SQL-standard, så vitt jag vet, och i MySQL motsvaras det av LIMIT n.

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)