Avatar billede mekaniker Nybegynder
09. november 2002 - 14:16 Der er 17 kommentarer og
2 løsninger

Vis random post fra database

Jeg har trukket nogle poster ud til et recordset i APS

Hver post indeholder et filnavn på et billede og flere felter med beskrivelse af billedet.

Jeg vil gerne lave noget som kan skifte billede og beskrivelse random i et enterval på 3 sek.

Er der nogle som kan hjælpe mig med dette..??
Avatar billede Slettet bruger
09. november 2002 - 14:23 #1
Ja, men du bliver nødt til at findere lidt nærmere. Hvad mener du med et recordset?
Avatar billede Slettet bruger
09. november 2002 - 14:36 #2
findere = definere
Avatar billede mekaniker Nybegynder
09. november 2002 - 14:54 #3
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db/cafe.mdb")&";"

    SQL = "SELECT * FROM yoghurt"
    set rs = myconn.execute(SQL)

Jeg trækker posterne ud af databasen sådan, også er det jeg skal vise et billede af yoghurten med beskrivelse, og dette skal være random og skifte med 3 sek. mellemrum
Avatar billede Slettet bruger
09. november 2002 - 19:42 #4
Hm, jeg håber ikke, du blander server-side og client-side scripting sammen, men se om ikke dette er det, du søger:

<script>
bill = new Array("yoghurt1.gif", "yoghurt2.gif", "yoghurt3.gif"); //Udfyldes automatisk med ASP
txt = new Array("Den første yoghurt", "Den anden yoghurt", "Den tredje og (måske) sidste yoghurt"); //Teksten (udfyldes ligeledes med ASP)

pb = new Array();
for (i = 0; i < bill.length; i++) {
pb[i] = new Image();
pb[i].src = bill[i];
}

i = 1;

function skift() {
if (i >= bill.length)
i = 0;
document.images["mitBill"].src = pb[i].src;
obj().innerText = txt[i++];
setTimeout("skift()", 3000); //Kaldes igen om 3000 millisekunder
}

function obj() {
return (document.getElementById) ? document.getElementById("tekst") : document.all.tekst;
}
</script>

I body:

<body onLoad="skift();">

Og her er dit billede og teksten:

<img src="yoghurt1.gif" name="mitBill">
<br>
<div id="tekst" style="font-family: Arial; font-size: 14px;">
Den første yoghurt
</div>
Avatar billede mekaniker Nybegynder
09. november 2002 - 22:39 #5
Det ser godt ud, det var lige det jeg skulle bruge.
Men kan du ikke hjælpe mig med at få nogle flere beskrivelser på, altså 4 arrays mere.

Kan man ikke lave det så det bliver en random rækkefølge...?
Avatar billede Slettet bruger
10. november 2002 - 11:53 #6
Nogle flere beskrivelser? Skal der være flere beskrivelser pr. billede, der så skifter imens billedet er på, eller hvad?

Jeg ordner det med random senere i dag eller i morgen.
Avatar billede mekaniker Nybegynder
10. november 2002 - 12:20 #7
Ja, jeg skal både have en pris, en vægt, en ekstra beskrivelse (dekleration), og et id nummer fra min db. som følger med hvert billede. ligesom du har lavet med den beskrivelse der er med nu.

Her er koden som den ser ud nu.
Som du kan se har jeg lavet nogle nye array's som jeg skal have med.

<script>
bill = new Array(<%= billed_array %>);
txt = new Array(<%= varebeskriv_array %>);
pris = new Array(<%= pris_array %>);
txt1 = new Array(<%= dekleration_array %>);
vaegt = new Array(<%= vaegt_array %>);
id = new Array(<%= id_array %>);

pb = new Array();
for (i = 0; i < bill.length; i++) {
pb[i] = new Image();
pb[i].src = bill[i];
}

i = 1;

function skift() {
if (i >= bill.length)
i = 0;
document.images["mitBill"].src = pb[i].src;
obj().innerText = txt[i++];
//obj().innerText = pris[i++];
setTimeout("skift()", 2000);
}

function obj() {
return (document.getElementById) ? document.getElementById("tekst") : document.all.tekst;
//return (document.getElementById) ? document.getElementById("pris") : document.all.pris;
}
</script>


<img src="../../images/produkter/1.jpg" name="mitBill"><br>
<div id="tekst" style="font-family: Arial; font-size: 14px;"></div><br>

på forhånd tak.

Mekaniker
Avatar billede Slettet bruger
10. november 2002 - 21:06 #8
Jeg er stadig lidt usikker, men prøv:

<script>
bill = new Array(<%= billed_array %>);
txt = new Array(<%= varebeskriv_array %>);
prs = new Array(<%= pris_array %>);
vae = new Array(<%= vaegt_array %>);
dekl = new Array(<%= dekleration_array %>);
vid = new Array(<%= id_array %>);

pb = new Array();
for (i = 0; i < bill.length; i++) {
pb[i] = new Image();
pb[i].src = bill[i];
}

i = 1;

function skift() {
if (i >= bill.length)
i = 0;
document.images["mitBill"].src = pb[i].src;
obj("tekst").innerText = txt[i];
obj("pris").innerText = prs[i];
obj("vaegt").innerText = vae[i];
obj("deklaration").innerText = dekl[i];
obj("vareid").innerText = vid[i++];
setTimeout("skift();", 2000);
}

function obj(id) {
return (document.getElementById) ? document.getElementById(id) : document.all[id];
}
</script>


<img src="../../images/produkter/1.jpg" name="mitBill"><br>
<div id="tekst" style="font-family: Arial; font-size: 14px;"></div>
<div id="pris" style="font-family: Arial; font-size: 14px;"></div>
<div id="vaegt" style="font-family: Arial; font-size: 14px;"></div>
<div id="deklaration" style="font-family: Arial; font-size: 14px;"></div>
<div id="vareid" style="font-family: Arial; font-size: 14px;"></div>

Du står forhåbentligt selv for at de forskellige arrays bliver udskrevet rigtigt!
Avatar billede Slettet bruger
10. november 2002 - 21:07 #9
Lige så snart, vi har fået fastslået, at det er det, du er ude efter, fikser jeg tilfældigheds-funktionaliteten!
Avatar billede mekaniker Nybegynder
10. november 2002 - 22:47 #10
Jeg får fejlen "object expected", men så vidt jeg kan gennemskue er vi inde på det rigtige.

//Mekaniker
Avatar billede Slettet bruger
11. november 2002 - 16:24 #11
Du bliver lige nødt til at smide et link, for ellers bliver det for meget gætteri!
Avatar billede mekaniker Nybegynder
23. november 2002 - 15:47 #12
Hej Phoenixy

Jeg har fundet en anden måde at lave det på.
Jeg har brugt en iframe også en alm. asp side i iframen.
men jeg vil sige mange tak for din hjælp.
Og jeg synes ogå du skal hgave nogle point som tak, og for din ihærdighed.

Jeg vil blive meget glad hvis du fortsat gad hjælpe mig med dette sprg.
http://www.eksperten.dk/spm/268758

//Mekaniker
Avatar billede Slettet bruger
24. november 2002 - 16:52 #13
OK, jeg vil meget gerne hjælpe i det andet spørgsmål, men du bliver nødt til at give mig lidt respons på kommentaren! :)
Avatar billede mekaniker Nybegynder
05. december 2002 - 09:56 #14
Hej phoenixy

Jeg ville høre om du måske kunne skrive dette script om til kun at vise teksten fra arrayet.

Vi skal nok finde ud af noget med noglr point.

//Mekaniker
Avatar billede Slettet bruger
05. december 2002 - 13:46 #15
Jeg vil meget gerne hjælpe, men jeg ved ikke helt, hvad du mener...
Avatar billede mekaniker Nybegynder
05. december 2002 - 19:53 #16
Det er faktisk det du har lavet, men uden billede kun tekst.

Faktisk ligesom når man bruger alt="billedfil.gif" eller titel="billedfil.gif" atributten på et billede.

Problemet ved denne er er den er for langsom og den forsvinder igen efter 3 sek.

Jeg har alle filnavnene i et array.!

//Mekaniker
Avatar billede Slettet bruger
05. december 2002 - 20:11 #17
Se her:
http://www.dynamicdrive.com/dynamicindex5/index.html
Der er en masse former for tooltips.
Avatar billede mekaniker Nybegynder
05. december 2002 - 22:33 #18
>> Phoenixy

Den side skal jeg nok huske, men jeg synes nu de scripts er lidt indviklet.
Jeg er ikke så god til java-script.

Jeg vil også gerne have noget der ikke bruger layers.
Avatar billede Slettet bruger
06. december 2002 - 16:18 #19
Du behøver jo heller ikke være god til JavaScript, for at sætte dem op!
Og hvis du vil have sådan en tooltip-funktion, er layers den eneste udvej!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester