18. april 2003 - 01:43Der er
20 kommentarer og 1 løsning
Skal skifte billede uden af opdatere siden?
Hej Jeg henter billeder via denne kode: $query = mysql_query("SELECT *, RAND() AS random from scooter_billeder where scooter_id = '$id' ORDER BY random LIMIT 1") or die ("Fejl X: ".mysql_error());
Men hvordan laver man så den selv skifter mellem de billeder der er uden at opdatere siden og sætte det i frame?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Slettet bruger
18. april 2003 - 01:53#1
<html> <head> </head> <body onload="document.getElementById('randomimg').src=randompicture();setInterval('document.getElementById(\'randomimg\').src=randompicture();',1000);"> <script language=javascript> function randompicture() { var pictures = new Array("billed1.gif", "billed2.gif", "billed3.gif"); return pictures[Math.floor((Math.random()*pictures.length))]; } </script> <img src="" id="randomimg"/> </body> </html>
Der er igen fejl i billedernes url's de virke problemet er at hvis man højere klikker på Egenskaber -> Adresse: [URL] der står der ikke nogle af de adresser som står i var pictures = new Array
Grunden til at der står: var pictures = new Array("STANDARTBILLEDE.GIF") Er fordi dit sql-kald fejler! Der bliver ikke fundet nogen rækker til de angivne kriterier: SELECT * FROM scooter_billeder where scooter_id = '$id' ORDER BY id DESC
Nej der er ingen fejl via at få fat i billederne har også prøvet at slettet where scooter_id = '$id' men der komme ingen billeder.
Synes godt om
Slettet bruger
19. april 2003 - 23:39#14
Ok, Og i det tilfælde hvilket html output får du så? Eventuelt så prøv at ændre "where scooter_id = '$id'" til where "1" Så længe der står: var pictures = new Array("STANDARTBILLEDE.GIF") i html outputtet skyldes det, at der ikke kommer nogen rækker fra dit sql-kald!
Nu dur det! der er bare et lille problem den henter alle billederne ind før den bedynder at skifte mellem dem.
Det er jo bare ikke så fedt for dem der har 56K eller ISDN så skal de vente mange min. før den viser billederne. Hvis nu du får 40 points mere kan du så ikke lave så i mellemtide at billederne loades så skal den skrive "Billederne hentes dette kan tage langt tid at efter hvilken linie du har" Og først efter alle sammen er hentet skal den vise billederne
Koden til så det virker: <body onload="document.getElementById('randomimg').src=randompicture();setInterval('document.getElementById(\'randomimg\').src=randompicture();',3000);"> <script language=javascript> <?php include('config.php'); $id=intval($_GET['id']); $query = mysql_query("SELECT * FROM scooter_billeder ORDER BY id DESC") or die ("Fejl X: ".mysql_error()); if (mysql_num_rows($query) == '0'){ echo "var pictures = new Array(\"STANDARTBILLEDE.GIF\")"; } else { $pictures = array(); while($row = mysql_fetch_array($query)) { $pictures[] = "\"".$row['URL']."\""; } $pictures = @implode(",",$pictures); echo "var pictures = new Array(".$pictures.");\n"; } ?> function randompicture() { return pictures[Math.floor((Math.random()*pictures.length))]; } </script> <img src="" width="270" height="210" id="randomimg"/> </body>
Synes godt om
Slettet bruger
21. april 2003 - 12:59#20
Den henter et billede af gangen... Men da intervallet er 3 sekunder vil jeg tror at den når at skifte mellem alle billederne før det første er hentet... Prøv at søg på preload her på eksperten... så finder du masser af løsninger til det du søger!
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.