Just nu i M3-nätverket
Jump to content

Visa post med senaste datum


PABLO

Recommended Posts

Hej!

Jag har ett problem

 

jag håller på att bygga en hemsida där jag vill kunna uppdatera en speciell bild genom att använda access databas. Jag har problem med SQL frågan. Tanken är att jag vill hämta bilden som har det senaste datumet.

 

Frågan som jag har nu är

 

"SELECT FOTO.fil FROM FOTO WHERE (((FOTO.text_foto_typid)=1)) and ...här måste jag skriva nåt som hämtar bilden från fältet datum med det senaste datumet...

 

jag vet inte om ni förstår...

tack för hjälpen på för hand...

Link to comment
Share on other sites

tack för hjälpen!

Nu funkade det... men nu uppstod ett annat problem.

i tabellen där jag har alla bilder så kan bilderna ha olika "text_foto_typid", allt funkar fint när alla bilder har detta på =1. Men tanken är ju att vissa bilder ska ha ett annat id typid=2. När jag gör detta så funkar det inte.

Kan det vara något med själva scriptet?

 

så här ser den ut nu:

själva databas kopplingen har jag längre upp på sidan. Hämtar och lite saker från en annan tabell längre upp.

 

 

<% SQL = "SELECT FOTO.fil FROM FOTO WHERE (((FOTO.text_foto_typid)=1)) AND FOTO.Datum =(SELECT MAX(Datum) FROM Foto)"

 

Set rs = Server.CreateObject ("ADODB.Recordset")

 

rs.Open sql, MinCon

 

DO WHILE NOT rs.EOF

%>

 

<%=rs("fil")%>

 

<%

rs.MoveNext

Loop

rs.close

set rs=nothing

%>

 

jag vill ju att scriptet endast ska titta efter de bilder som jag begär. I det här fallet de med typid=1. Den ska strunta i de andra.

 

hoppas man fattar vad jag menar.

skulle vara tacksam för lite hjälp....

tack!!!

 

 

Link to comment
Share on other sites

<% SQL = "SELECT FOTO.fil FROM FOTO WHERE FOTO.text_foto_typid=1 AND FOTO.Datum =(SELECT MAX(Datum) FROM Foto where text_foto_typid = 1)"

 

 

 

Link to comment
Share on other sites

tack!

men jag vet inte om det funkar... frågan verkar ju rätt. Men jag får upp det här felmeddelandet:

 

Error Type:

Microsoft VBScript compilation (0x800A03FB)

Expected 'Loop'

/webbprojekt/testasp1.asp, line 105

 

jag fattar inte...

 

tack och hej!

 

Link to comment
Share on other sites

Så här ser hela koden ut:

 

 

<html>

<head>

 

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body bgcolor="#FFFFFF" text="#000000">

 

<p>asp testsida.</p>

 

<%

 

'Detta skapar databaskoppling med databasen databas1.mbd

 

Set MinCon = Server. CreateObject ("ADODB.Connection")

Set rs = Server.CreateObject ("ADODB.Recordset")

MinCon.Open"driver={Microsoft Access Driver (*.mdb)};dbq= " & server.MapPath("databas/databas1.mdb")

 

SQL = "SELECT TEXTER.fil FROM TEXTER WHERE (((TEXTER.textid)=1));"

 

Set rs = Server.CreateObject ("ADODB.Recordset")

rs.Open sql, MinCon

%>

 

<%

Do While Not rs.EOF

%>

 

<%=rs("fil")%>

 

<%

'denna SQL fråga hämtar fil från tabellen TEXTER med textid2, viktigt att efter varje

'SQL fråga skriva till "Set rs = Server.CreateObject ("ADODB.Recordset")"

SQL = "SELECT TEXTER.fil FROM TEXTER WHERE (((TEXTER.textid)=2));"

Set rs = Server.CreateObject ("ADODB.Recordset")

rs.Open sql, MinCon

%>

<%=rs("fil")%>

 

 

<%

'denna SQL fr&aring;ga h&auml;mtar fil fr&aring;n tabellen TEXTER med

'textid2, viktigt att efter varje<br>

'SQL fr&aring;ga skriva till &quot;Set rs = Server.CreateObject (&quot;ADODB.Recordset&quot;)&quot;<br>

SQL = "SELECT TEXTER.fil FROM TEXTER WHERE (((TEXTER.textid)=3));"

Set rs = Server.CreateObject ("ADODB.Recordset")

rs.Open sql, MinCon

%>

 

<%=rs("fil")%>

 

<% SQL = "SELECT FOTO.fil FROM FOTO WHERE (((FOTO.text_foto_typid)=1)) AND FOTO.Datum =(SELECT MAX(Datum) FROM Foto) FROM FOTO where (FOTO.text_foto_typid=1)"

 

 

Set rs = Server.CreateObject ("ADODB.Recordset")

rs.Open sql, MinCon

 

%>

<%=rs("fil")%>

 

<%

rs.MoveNext

loop

rs.close

set rs=nothing

 

%>

 

 

</body>

</html>

 

 

Link to comment
Share on other sites

Nu vet jag inte om det är forumet som formatterar om ditt inlägg, men det går inte att dela ett statement över flera rader.

 

Dela upp den så här i så fall.

 

<code>

<% SQL = "SELECT FOTO.fil " & _

" FROM FOTO " & _

" WHERE text_foto_typid=1" & _

" AND Datum = (SELECT MAX(Datum) " &_

" FROM Foto " & _

" where text_foto_typid=1)"

</code>

 

 

 

Link to comment
Share on other sites

Ett annat problem är att du tycks skriva över rs inne i loopen...

 

Om du vill loopa över rs så bör alla hämtningar inne i loopen läggas i ett annat recordset, tex rs2, annars kan de bli lite konstigt.

 

/David

 

Link to comment
Share on other sites

Lite enkelt:

Dim rs, rs2
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")

Set rs = conn.Execute("SELECT * FROM table1")
If Not rs.EOF Then
Do Until rs.EOF

Set rs2 = conn.Execute("SELECT * FROM table2")
If Not rs2.EOF Then
Do Until rs2.EOF
[...]
Loop   'Loop over rs2
End If

Loop   'Loop over rs
End If

 

/David

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...