Den nemmeste approach er nok med ajax som du selv nævner også.
Kan prøve at komme med et ret hurtigt og brutalt bud :b
Det første PHP script her, henter alle reklamerne fra din database
og returnerer dem i json format, så vi nemt kan læse det fra javascript.
Dette php script gemmer du bare som reklamer.php. Det skal ikke includes(); nogen steder.
- <?php
-
- // Henter reklamerne fra databasen
- $data = mysql_query("SELECT * FROM reklame") or die(mysql_error());
-
- // Smider reklamerne i et array
- $reklamer = array();
- while($reklame = mysql_fetch_assoc($data )) {
- $reklamer[] = $reklame;
- }
-
- // Returnerer reklamerne i json format
- echo json_encode($reklamer);
Dette er så din banner side som henter reklamerne med ajax og viser dem.
Den kan du include(); et sted på dine sider.
- <div id="printArea">
- </div>
- <script>
- $(document).ready(function(){
- var reklamer = null;
- var startreklame = 0;
-
- $.ajax({
- url : 'reklamer.php',
- success : function(data) {
- reklamer = eval("(" + data + ")");
- }
- });
-
- function visReklamer() {
- // Her clearer vi printArea så vi kan indsætte nye reklamer
- $('#printArea').html('');
-
- // Her kører vi et loop igennem 3 gange for at få 3 reklamer
- for (var i=startreklame; i < startreklame + 3; i++) {
- $('#printArea').append(
- '<div id="textArea">' +
- '<div class="cover">' +
- '<img src="reklame/' + reklamer[startreklame].billede + '" width="37" height="37" />' +
- '</div>' +
- '<div class="title">' +
- '<p>' + reklamer[startreklame].overskrift + '</p' +
- '</div>' +
- '<div class="description">' + reklamer[startreklame].tekst + '</div>' +
- '</div>'
- );
- };
- }
-
- function nextReklamer() {
- if (startreklame + 3 <= reklamer.length) {
- startreklame += 3;
- }else {
- startreklame = 0;
- }
- visReklamer();
- }
- });
- </script>
Jeg har ikke selv testet noget af dette, men det kan give en idé om hvordan det kunne laves.
Indlæg senest redigeret d. 27.04.2012 14:48 af Bruger #16319