SELECT DISTINCT Year([i]dteTheDate[/i]), Month([i]dteTheDate[/i])
FROM tblDatabasen
GROUP BY Year([i]dteTheDate[/i]), Month([i]dteTheDate[/i])
Ungefär så du menar kanske?
12 svar · 351 visningar · startad av Asa
Sparar en info och datum i databasen och vill hämta år och månad, Ex: 2003-05
Saken är att det kan finnas fler poster som har ex år 2003 och maj månad i datumet men vill då bara hämta den en gång!
SKa även visas i tre kolumner så här:
2003-09---------2003-08---------2003-07
2003-06---------2003-05---------2003-04
2003-01---------2003-02---------2003-01
Ska använda detta på så sätt att om man klickar på 2003-09 så visas alla poster som har 2003-09 i datumet.
Hoppas någon förstår hur jag menar! Tack på förhand!
SELECT DISTINCT Year([i]dteTheDate[/i]), Month([i]dteTheDate[/i])
FROM tblDatabasen
GROUP BY Year([i]dteTheDate[/i]), Month([i]dteTheDate[/i])
Ungefär så du menar kanske?
Ange vilken dbms du använder, så slipper vi gissa.
Access:
select distinct year(datumfältet), month(datumfältet) from tabellen order by 1 desc, 2 desc
Både ock behövde jag veta för! Glömde skriva det!
Både vad och vad :q
Både för access och mysql!
Varför hittar den inte datum i denna kod? Datum är text!
<table border="0" cellspacing="5" width="100%">
<%Set RS=Conn.Execute("select distinct year(datum), month(datum) from vimmel order by 1 desc, 2 desc")
If RS.EOF Then%>
<tr>
<td>Inga inlagda</td>
</tr>
<%Else
x=1
Do Until RS.EOF
If x=3 Then
Response.Write "<tr>"
x = 1
End If%>
<td align="center" nowrap><a href="vimmel.asp?month=<%=RS("Datum")%>">» <%=RS("Datum")%></a></td>
<%x=x+1
RS.MoveNext
Loop
End If%>
</table>
Datum ska inte vara text. Datum ska vara datum.
Jag testade att ha det som datum men det funkade inte heller. Nåt måste vara fel i sql´n.
Tja, varför den inte hittar datum? Du hämtar ju inte datum i din select-fråga.
Jag gjorde så här och då funkade det!
<table border="0" cellspacing="5" width="100%">
<%Set RS=Conn.Execute("Select Distinct year(datum) as DT1, month(datum) as DT2 From vimmel Order By 1 desc, 2 desc")
If RS.EOF Then%>
<tr>
<td>Inga inlagda</td>
</tr>
<%Else
Numcols = 3
x=1
Do Until RS.EOF
Response.Write "<tr>"
For i=1 to Numcols
Response.Write "<td width=""33%"">"
If RS.EOF then
Response.Write " "
Else%>
<a href="vimmel.asp?month=<%=RS("DT1")%>-<%If Len(RS("DT2")) = 1 Then%>0<%=RS("DT2")%><%Else%><%=RS("DT2")%><%End If%>">» <%=RS("DT1")%>-<%If Len(RS("DT2")) = 1 Then%>0<%=RS("DT2")%><%Else%><%=RS("DT2")%><%End If%></a>
<%RS.MoveNext
End If
Response.Write "</td>"
Next
Kvar = NumCols-i
For x = 1 To Kvar
Response.Write "<td width=""33%""> </td>"
Next
Response.Write "</tr>"
Loop
End If%>
</table>
Varför blire felmess när jag lägger in en ifsats vid Do Until...
If Request.QueryString("month") <> "" Then
Do Until Vimmel.EOF
Else
Do Until Vimmel.EOF or y=10
End If
Då får jag felmess:
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03FB)
'Loop' förväntas.
Går det ej att ha en ifsats runt en Do ?
If Request.QueryString("month") <> "" Then
Do Until Vimmel.EOF
'kodstuff
loop
Else
Do Until Vimmel.EOF or y=10
'kodstuff
loop
End If
Du måste avsluta din do med en loop
Åhh va jobbigt! Men men!