webForumDet fria alternativet

inte visa samma

8 svar · 193 visningar · startad av DavidB

DavidBMedlem sedan jan. 20001 372 inlägg
#1

jag tänkte göra ett script som jag inkluderar på min sida som skall visa banners som är slumpvalda ur en databas men problemet är att jag inte vet hur jag ska göra om jag inkluderar samma fil på två ställen på samma sida för då finns det en risk att samma banner visas på två ställen på samma sida. har någon något förslag på hur man kan göra för att undvika detta?

------------------
// David - Probably the best guy in the world

ERR0RMedlem sedan dec. 2000596 inlägg
#2

hmmmm... jag har nåt på g :e

------------------
Vad? :e

VideMedlem sedan dec. 19998 577 inlägg
#3

Hur hämtar du bannern? den ligger i databas antar jag... använder en, eller två SQL-satser för att hämta dom?

------------------
webEye.nu SweQuake.com

DavidBMedlem sedan jan. 20001 372 inlägg
#4

det blir en SQLsats för varje ställe där jag lägger in includen för bannern

------------------
// David - Probably the best guy in the world

VideMedlem sedan dec. 19998 577 inlägg
#5

Okej, när du hämtar bannern, ta dess id och lägg den i en variabel (ett array om det är fler än två inkluderingar per sida), sedan när du hämtar bannern så slänger du in ett "where NOT id="&usedID

Eller nått... ;)

------------------
webEye.nu SweQuake.com

DavidBMedlem sedan jan. 20001 372 inlägg
#6

okej, hur ser en SQLsats där man gämför med en array ut?

------------------
// David - Probably the best guy in the world

VideMedlem sedan dec. 19998 577 inlägg
#7

Lägg in dom i ett array, och sedan gör du såhär:

strSQL = "Select * from tabell where id NOT IN ("&Join(dinArray, ", ")&")"

Helt otestat... :)

------------------
webEye.nu SweQuake.com

DavidBMedlem sedan jan. 20001 372 inlägg
#8

nu har jag fixat detta men då är dte bara några problem kvar med arrayen

innan första bannern visas så måste ju arrayen vara tom eller något för att alla bennerna skall kunna visas, hur gör man detta?

efter att första bannern har visats så ska detta in i arrayen så att det är med när nästa banner ska visas, hur gör man för att lägga in detta? id nummret till den visade bannern ligger i en variabel som heter bannerid.

går det att skapa en array som heter typ banner_RS("size") där namnet på arrayen blir olika beroende på vad som finns i RS("size")? och hur gör man isåfall detta?

ja, det var nog allt

------------------
// David - Probably the best guy in the world

VideMedlem sedan dec. 19998 577 inlägg
#9

Tja, innan arrayen finns, så kan du ju kolla med en if-sats om det är ett array:

If IsArray(variabeln) then
'det var en array
End If

Och är det inte ett array så skippar du bara where-satsen i din SQL-fråga...

För att lägg till i arrayen...

Första gången:
Dim dinArray(0)
dinArray(0) = bannerid

Resten av gångerna:

Redim Preserve dinArray(Ubound(dinArray)+1)
dinArray(Ubound(dinArray)) = bannerid

Se till att kolla om det är en array innan du lägg in den första gången...

------------------
webEye.nu SweQuake.com

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