webForumDet fria alternativet

nyhets script

5 svar · 275 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Jag använder Björn Lindströms nyhets script, som går ut på att man matar in en nyhet i ett formulär och det hamnar på en index sida, men problemet är att man kan mata hur många nyheter som helst och sidan komme rtat bli hur lång som helst om man har bra med nyheter, så jag undrar ifall man kunde begränsa index sidan så att den bara visade 1 nyhet den man senast knappade in och när man knappar in en till nyhet så hmnar den som var där innan i ett arkiv...

Så här ser indexsidan ut:

	<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb"))

	'============== FUNKTION FÖR LÅNGA RADER==============
	function doIt(textSomSkaFixas)
	arrText = split(textSomSkaFixas, " ")
	for i = 0 To uBound(arrText)
	if Len(arrText(i)) > 60 then
	newText = newText & " " & Left(arrText(i), 60)
	'newText = newText & " " & Right(arrText(i), Len(arrText(i)-60))
	newText = newText & " " & Right(arrText(i), Len(arrText(i))-60)
	else
	newText = newText & " " & arrText(i)
	end if
	next
	doIt = newText
	end function
	%>

<%
	Dim antal
	antal = 0

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Visa = "SELECT * FROM nyheter ORDER BY Id DESC"
	RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
	Do Until RecSet.EOF %>

	<%	
	antal = antal + 1
	RecSet.MoveNext
	Loop
	RecSet.Close
	Connect.Close
	Set Connect = Nothing
	%>

jag tog endast med asp kodningen lämnade html kodningen...

och så här ser sidan jag skulle vilja använda som arkiv...

<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb"))
	%>
<%
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Visa = "SELECT * FROM nyheter ORDER BY ID DESC"
	RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
	Do Until RecSet.EOF
	%>
<div align="center">
  <center>
  <table border="0" width="500" cellspacing="1">
    <tr>
      <td width="100%">  <%=RecSet("datum")%> - <a href="#" onClick="centerpopup('visa_alla_rubriker_2.asp?nyhetsID=<% =RecSet("ID") %>',500,400); return false;"><% =left(RecSet("Rubrik"),100) %></a>

<%	
	RecSet.MoveNext
	Loop
	RecSet.Close
	Connect.Close
	Set Connect = Nothing
	%>

Jag hoppas verkligen ngn kan hjälpa mig...

jorgenMedlem sedan feb. 20012 412 inlägg
#2

Hej!

Använd följande tillägg i din Visningsfil för att visa senaste nyhet.

Access mfl


Visa = "SELECT [b]TOP 1[/b] FROM nyheter ORDER BY Id DESC"

eller

MySQL bla


Visa = "SELECT * FROM nyheter ORDER BY Id DESC [b]LIMIT 1[/b]"

r: De andra posterna ligger ju kvar i databasen ändå och "arkiveras".

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

[Redigerat av jorgen den 26 aug 2001]

GimboMedlem sedan dec. 20001 626 inlägg
#3

Jag använder access och jag fick detta fel meddelande när jag skrev in Top 1 som du sa:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

[Microsoft][Drivrutin för ODBC Microsoft Access] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.

/asp/nyheter/nyheter/nyheter.asp, rad 86

LarsGMedlem sedan dec. 200012 464 inlägg
#4
Visa = "SELECT TOP 1 * FROM nyheter ORDER BY Id DESC"

------------------
essentitia preter non sans multiplicandum

jorgenMedlem sedan feb. 20012 412 inlägg
#5

Ooop, försvann visst ett * i kopieringen. :(

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

GimboMedlem sedan dec. 20001 626 inlägg
#6

Tackar det fungerade utomordentligt!!!

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