Toon posts:

Dagelijkse Wist je dat... via ASP en Access db

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een digitale stad willen we graag een wist je dat onderdeel maken dat dagelijks een andere stelling laat zien. Het liefst via ASP. De verschillende stellingen zitten in een Access database.

Het is de bedoeling dat er het script zelf het rijtje afgaat (dus niet random) en in het weekend geen stelling laat zien.

Ik heb al gezocht op GOT maar kon niks dergelijks vinden. Op internet zijn er groot Quote of the Day scripts te vinden, maar die tonen allemaal een random stelling en dus ook een nieuwe bij iedere bezoeker.

Mijn vraag is concreet: hoe kan je dit het beste aanpakken? Via een query in Access of echt via een asp/cold fusion script? (php wordt helaas niet door de server ondersteunt :-(
Weet iemand waar ik een dergelijke oplossing kan vinden om in ieder geval een begin te maken?

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Bij elke stelling de datum van publicatie opnemen.
Desnoods laat je deze publicatiedatum automatisch bepalen bij invoer van een stelling.
Je hoeft dan in de DB alleen op huidige datum te selecteren en je weet zeker dat je site altijd up-to-date is.

Verwijderd

verander die random functie in een count functie. Je kunt toch gewoo nde index afgaan :?

Verwijderd

Topicstarter
Die ASP die ik nu gebruik ziet er als volgt uit:

<%
Sub GetQuote(strLine1, strLine2, strLine3, strSource)


' Define variants
Dim adOpenForwardOnly, adLockReadOnly, adCmdTable, intMaxID, intRecordID
adOpenForwardOnly = 0
adLockReadOnly = 1
adCmdTable = 2

' Define database file type and location
Dim objConn, objRS
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\Inetpub\WWWroot\quotes\quotes.mdb;" & _
"Persist Security Info=False"

' Open Quotes table in database
objRS.Open "Quotes", objConn, adOpenForwardOnly, adLockReadOnly, adCmdTable

' Define total number of records
intMaxID = 430

' Create a random record ID
Randomize
intRecordID= Int(Rnd * intMaxID) + 1

' Move to the selected record
objRS.Move intRecordID

' Write the quote to the variants
strLine1 = objRS("Line1") & "<br>"
If objRS("Line2") <> "" Then
strLine2 = objRS("Line2") & "<br>"
End If
If objRS("Line3") <> "" Then
strLine3 = objRS("Line3") & "<br>"
End If
If objRS("Source") <> "" Then
strSource = "<i>" & objRS("Source") & "</i>"
End If

' Close & clean up
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing

End Sub
%>

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Waarom random. Er is toch geen hond die weet wat de volgende stelling is. Dan kan je toch zelf de volgorde bepalen. Wat is tegen op mijn voorstel?

  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 05-09 11:47
Op vrijdag 12 april 2002 11:38 schreef Student het volgende:
Voor een digitale stad willen we graag een wist je dat onderdeel maken dat dagelijks een andere stelling laat zien. Het liefst via ASP. De verschillende stellingen zitten in een Access database.
Zet je stellingen in een tabel met 2 velden:
stellingID (autonumber) en stellingtext

Maak een tweede tabel met velden: stellingID en datumgetoond

voordat je een stelling gaat tonen kijk je in de 2e tabel met de datum van vandaag. Als die niet voorkomt nog (oftewel bij de eerste bezoeker van die dag) dan pak je het laatste record uit die tabel, hoog het stellingID met 1 op, vul datumgetoond met de huidige datum en haal de stelling met het nieuwe stellingID op uit de eerste tabel.

Komt de stelling al wel voor op de datum van vandaag, dan haal je alleen de stelling op aan de hand van de stellingID.

En dat kan simpel met ASP

edit:


Ok dat is vrij omslachtig (tis vrijdag zeg maar :P). Je kan inderdaad ook met 1 tabel aan de slag, stellingID, stellingtekst en toondatum. Eerst zoeken met datum van vandaag, komt ie niet voor dan zoek je naar de eerstvolgende met een lege datum (als het goed is is dat het record erna). Daar vul je de huidige datum bij in en tonen die hap.

Pagina: 1