Hjælp til PHP random ved hvert klik

Tags:    javascript random

<< < 12 > >>
Hej.

Jeg bruger denne lille stump PHP kode på min hjemmeside,

<?php echo(rand(1,25)); ?>

det den gør er at den er indsat i navnet på mit banner billede, så hver gang man genloader siden skifter banneren mellem 1 og 25

hele koden ser sådan ud:

<div id="header-pic"><a href="/index.php"><img src="Bannere/Banner_<?php echo(rand(1,25)); ?>.jpg" alt="HEADER © COPYRIGHT 2007-2011 ALL RIGHTS RESERVED KP-FOTO"></a></div>


Mit spørgsmål er så;
Kan man få denne random funktion til at "randomize" hver gang der klikkes på en ny fane på siden, altså så min banner skifter hver gang folk klikker på en ny fane på siden?
Findes der et eller andet "get click" halløj?
På forhånd tak!




15 svar postet i denne tråd vises herunder
9 indlæg har modtaget i alt 35 karma
Sorter efter stemmer Sorter efter dato
Du kan prøve noget i den her stil, som dog ikke er gennemtestet:

Fold kodeboks ind/udHTML kode 


Den første metode har jeg fra Mozilla's Developer Center, da JavaScript's random metode er lidt mere speciel end hos andre programmeringssprog. Den sørger bare for at vi kan angive et interval og få et heltal tilbage.

LoadRandomBanner() er den metode du kan kalde når du vil udskifte banneret, fx når man klikker på et nyt menupunkt på din side. Du skal give dit img tag et ID eller udskifte selectoren - i min kode antager jeg at dit img tag har et ID der hedder "imgBanner". Jeg bruger også jQuery, i noConflict() mode, da jeg ved at det vil passe ind på din side. Prøv det engang og hvis du løber ind i problemer, så post en URL hvor vi kan se det "in action" :)

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 20.05.2011 12:24 af Bruger #1
Hej Kristian,

Hvis det ikke var fordi at jeg vidste at dit site var bygget op omkring AJAX loading af indhold, så ville jeg næppe forstå dit spørgsmål hehe :). Anyway, det du kan gøre er at skrive en lille JavaScript funktion der basalt set gør det samme og så udføre den når du skifter indhold via JavaScript. Det er ikke synderligt svært, og jeg kan godt prøve at poste et eksempel, hvis du ikke har mod på at prøve det selv :)

Mvh.

Kasper (TSW)



kunne du ikke bare rette div tag til et img tag og kalde funktionen i ready?

Fold kodeboks ind/udKode 





Istedet for at kode med at udskrive rand() på den måde i en echo ville jeg forslå, hvis du benytter database, at du skriver:
Fold kodeboks ind/udPHP kode 




Du tilføjer dine billeder i jQuery med
Fold kodeboks ind/udJScript kode 


Altså #content, men du vil åbne den i #imgBanner - <div id="imgBanner">

Jeg tror at fejlen ligger det. Ændre dit ID enten i dit script eller i din div.



Hej Kristian,

At sætte source på et div tag giver ikke rigtigt mening - det skal naturligvis være et img tag :). Min tanke var at du blot skulle bruge det img tag du allerede udskrev med PHP. Giv det et ID, så skulle det være på plads. Derudover er jeg ikke helt sikker på at den kode du selv har tilføjet giver mening, ikke mindst fordi at et div element næppe har en load event :). Prøv hellere at gøre det til onclick eventen på et link eller lignende, på din lille demo - det er jo alligevel det du gerne vil opnå på den endelige side, ik?

Mvh.

Kasper (TSW)



Oh well, Kristian er også gået over til at have "rigtige" undersider, som jeg også anbefalede i en anden tråd, og så er det ikke nødvendigt med en JavaScript baseret løsning til at skifte billedet. Godt der kom styr på det :)

Daniele, det ville være god stil lige at poste den løsning I er endt op med. Så kan andre måske få glæde af den :)

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 21.05.2011 15:06 af Bruger #1
#Kristian
Tjek min udgave ud, den er kun lavet med html og PHP :)


---NYT---

Finish. Så har jeg lige ordnet det shit med php og css, faktisk ikke noget javascript eller jQuery. Jeg er glad for at kunne hjælpe dig Kristian :).



Indlæg senest redigeret d. 21.05.2011 00:56 af Bruger #16025
#Kasper
Jeg tænkte at han ville have det bedre med php sider istedet for at bruger jQuery til sideskift. Vi har snakket om at lave banner-visning ved hjælp af en administrations side og database opkobling.

Jeg syntes også at det ville være bedre at bruger mod_rewrite til url adressen, som han også skrev. Det brugte jeg .htaccess til :).

Jeg er glad for at kunne hjælpe. Hvis du gerne ville have flere løsninger Kasper, så skriv. For vi arbejder måske også lidt videre på det :).







<< < 12 > >>
t