select * from tbl_billeder, tbl_billeder_bruger where tbl_billeder.str_dato='16-02-2005' and str_sted=13 AND tbl_billeder.str_billeder_uniqueid = tbl_billeder_bruger .str_billeder_uniqueid
hmmm ... ville det ikke være en ide at undgå stjernen så?
Du selecter det du skal bruge i stedet:
select [alt-andet end billededata] from tbl_billeder bi, tbl_billeder_bruger br where tbl_billeder.str_dato='16-02-2005' and str_sted=13 AND tbl_billeder.str_billeder_uniqueid = tbl_billeder_bruger .str_billeder_uniqueid.
På den måde slipper du før den tidskærvende process. Så kan du hente billederne seperat bagefter
Hvis der kun må komme én post for hvert billede, så kan der jo også kun komme én bruger:
Billede Bruger img1 Knud img1 Hans img2 Peter
Forstår du?
Så der er to muligheder:
Du kan loope billederne igennem, og så hente en brugerliste for hvert billede, det er det du har gang i nu, ikke?
Du kan hente både billeder og brugere, og så bliver det som jeg har vist ovenfor. Det er helt klart den metode jeg vil bruge. Du siger at billedet kun må komme én gang, kan du ikke acceptere at det kommer flere gange? Hvis du sørger for at sortere efter billedets unikke id, så kan du loope gennem dataene, og så ved du at der kun kommer et nyt billede når id'et skifter.
Eller du kan skrive en funktion der henter en kommasepareret liste over brugere. Denne metode kan også godt blive tung.
rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount while Not rs.EOF And intRecCount >
til at lave visninger pr side,og det vil jo så gå i koks...? eller hvad? koden er:
--- sql = "select * from tbl_billeder where tbl_billeder.str_dato='"&str_dato&"' and str_sted="&request("str_id")&"" response.write sql Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open SQL, Conn, 1 intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
response.write "<table cellpadding=0 cellspacing=8>" i = 0 if request("str_page") = "" then rs.PageSize = 10 else rs.PageSize = request("str_page") rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount while Not rs.EOF And intRecCount > 0
mark = "" mark1 = ""
'sql = "select tbl_billeder_bruger.str_id from tbl_billeder_bruger left join tbl_profil on tbl_billeder_bruger.str_profil_id = tbl_profil.str_id where str_billede_id='"&rs("str_id")&"'" sql = "select str_profil_id,str_position from tbl_billeder_bruger where str_billede_uniqueid = "&rs("uniqueid")&"" set rs1 = conn.execute(sql)
sql = "select * from tbl_billeder_bruger where str_billede_id='"&rs("str_id")&"'" set rs1 = conn.execute(sql) while not rs1.eof if len(rs1("str_profil_id")) <> 0 then sql = "select * from tbl_profil where str_id='"&rs1("str_profil_id")&"'" set rs2 = conn.execute(sql) p = "pic2.gif" if len(rs1("str_tekst")) <> 0 then pp = "<img style=cursor:hand; src=images/pic3.gif alt='"&rs1("str_tekst")&"'>" else pp = "" mark = mark & "<div style='position:absolute;left: "&round(rs1("str_position"))&"%; top: 3;' ><img src=images/"&p&">"&pp&"</div>" else p = "pic1.gif" if request("mak") = 1 and changesex(rs1("str_køn")) = getsex(session("str_id")) then mark = mark & "<div style='position:absolute;left: "&round(rs1("str_position"))&"%; top: 3;cursor:hand;' onclick=""displayWindow('makering.asp?mode=opret&str_id="&rs1("str_id")&"','markering',300,150,'scroll=off','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no');""><img src=images/"&p&"></div>" else mark = mark & "<div style='position:absolute;left: "&round(rs1("str_position"))&"%; top: 3;' ><img src=images/"&p&"></div>" end if end if rs1.movenext wend rs1.close
if i = 0 then response.write "<tr>" response.write "<td>" response.write pic_border("<img src='thump.aspx?imagefilename=/storage/ibyen/"&request("str_id")&"/"&str_dato&"/"&rs("str_id")&""&rs("str_ext")&"&SizeConversionType=Type7'>",74,74) response.write "<div style='position: relative; width: 100%; height: 12px;'>"&mark&"<br>"&mark1&"</div>" response.write "</td>" if i = 6 then response.write "</tr>" i = i + 1 if i = 6 then i = 0 intRecCount = intRecCount - 1 rs.movenext wend response.write "</table>"
Jeg kommer lige ind fra højre... Det lyder som en relativ nem og overkommelig opgave, kunne jeg ikke få dig til at poste dit tabel design og fortæller om relationerne?
Okay.. Nu er jeg lidt bedre med. Som jeg forstår det så vil du have at for hver bruger du har, skal der vises et billede. Det kunne evt. være det nyeste, som i nedenstående:
select * from tbl_billeder b inner join (select max(str_billede_id) as bid, profil_id from tbl_billeder_bruger bb group by profil_id) as maxbillede on b.str_id = maxbillede.bid inner join tbl_profil p on p.str_id = maxbillede.profil_id
Jeg har valgt at vise en beskrivelse istedet for billede, men det kan du jo selv lige tilpasse.
Nu ved jeg ikke lige om datatyperne og feltnavnene er korrekte osv... Men den select giver dig nyeste billede pr.bruger
Oki.. jeg fatter simpelthen ikke en meter tilsyneladende.
Du vil have brugernes markeringer tager et billede frem fra tbl_billeder og hvad er det for en slags markering? Om det skal vises eller ej eller en kommentar... ? Rite?? Og hvad vil du bruge profil til så?
I tbl_billeder_bruger har jeg f.eks 4 placeringer, men position og profil_id på den bruger der er markeret på billedet... tbl_profil bruges kuntilat på profilen's navn.
hmm det vil altså sige at for hvert billede (og der kan være flere, men er det korrekt forstået at det nyeste billede vises?), så skal der også tilknyttes samtlige positioner fra brugeren?
hmm det vil altså sige at for hvert billede (og der kan være flere, men er det korrekt forstået at det nyeste billede vises?), så skal der også tilknyttes samtlige positioner fra brugeren?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.