MrBjoern Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Jobber med en side for skolekantina, der det skal stå info om varene, når den er stengt osv. Men vi har også noen sponsorer som vil ha litt reklame på siden. Kan noen hjelpe meg med å lage et script som endrer sponsor som vises ved reload. (Litt dårlig forklart tror jeg) Tenkte da på noe som dette: Kantina er sponset av: Tine (link til Tine) Ved reload byttes teksten ut med: Kantina er sponset av: Bama (link til Bama) Noen som kan hjelpe meg med dette? Må/burde fnke uten database. Er det mulig å skrive koden til hver sponsor i en fil, for så å velge en random fil ved reload? Takker for svar Endret 7. januar 2007 av mrbjoern Lenke til kommentar
Ståle Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Yup, det du kan gjøre, er å legge til navn og link i en tekstfil. Bama***http://bama.no***navn***link*** så legger du dette i randomsponsor.php <?php $fil = file("sponsorer.txt"); $nummer = (rand(1, count($fil)))-1; foreach($fil as $sponsor) { if ($sponsor == $nummer) { $sponsor = explode('***', $sponsor); $navn = $sponsor[0]; $link = $sponsor[1]; echo $navn . ' <a href="' . $link . '">' . $link . '</a>'; //eller // echo '<a href="' . $link . '">' . $navn . '</a>'; }} ?> Edit; LOL ikke hør på meg. Endret 7. januar 2007 av Ståle Lenke til kommentar
MrBjoern Skrevet 7. januar 2007 Forfatter Del Skrevet 7. januar 2007 Fikk det til å funke, nesten ivertfall. Vis jeg legger til flere sponsorer i listen, går noe galt. Alle sponsorene kommer etter hverandre, og neste gang jeg trykker på reload kommer det ingen sponsorer. Lenke til kommentar
Ernie Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Yup, det du kan gjøre, er å legge til navn og link i en tekstfil. Bama***http://bama.no***navn***link*** så legger du dette i randomsponsor.php <?php $fil = file("sponsorer.txt"); $nummer = (rand(1, count($fil)))-1; foreach($fil as $sponsor) { if ($sponsor == $nummer) { $sponsor = explode('***', $sponsor); $navn = $sponsor[0]; $link = $sponsor[1]; echo $navn . ' <a href="' . $link . '">' . $link . '</a>'; //eller // echo '<a href="' . $link . '">' . $navn . '</a>'; }} ?> 7665027[/snapback] Hvorfor i alle dager foreach? Uannsett, problemet her er "if ($sponsor == $nummer) {". Først og fremst, $sponsor er en streng og strenger bør man aldri sammenligne v.hj.a ==. Det andre problemet er at $nummer er et tall og har dermed absolutt ingenting med $sponsor å gjøre. Tilslutt undrer jeg meg _veldig_ på hvorfor du i det heltatt looper her Dette burde holde: <?php $fil = file("sponsorer.txt"); $sponsor = array_rand($fil); $sponsor = explode('***', $sponsor); $navn = $sponsor[0]; $link = $sponsor[1]; echo $navn . ' <a href="' . $link . '">' . $link . '</a>'; //eller // echo '<a href="' . $link . '">' . $navn . '</a>'; ?> Redigering: Kom på at vi har en fin funksjon som heter array_rand Endret 7. januar 2007 av Ernie Lenke til kommentar
Ståle Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 /me ikke tenker klart idag... Lenke til kommentar
MrBjoern Skrevet 8. januar 2007 Forfatter Del Skrevet 8. januar 2007 @ Ernie Brukte koden som du fiksa litt på, nå kommer det bare ett tall istedet Lenke til kommentar
Kagee Skrevet 8. januar 2007 Del Skrevet 8. januar 2007 (endret) <?php $fil = file("sponsorer.txt"); $sponsor = array_rand($fil); $sponsor = explode('***', $fil[$sponsor]); $navn = $sponsor[0]; $link = $sponsor[1]; echo $navn . ' <a href="' . $link . '">' . $link . '</a>'; //eller // echo '<a href="' . $link . '">' . $navn . '</a>'; ?> Ernie har misforstått den fine funksjonen array_rand, som returnerer en random key fra array'et - ikke det arrayet du er på jakt etter. For rettferdig fordeling kunne du jo ha lagt til et 3. felt som viser hvor ofte annonsen er blitt vist/viser den sponsoren som er vist minst. Endret 8. januar 2007 av Kagee Lenke til kommentar
Martin A. Skrevet 8. januar 2007 Del Skrevet 8. januar 2007 Hva med denne? <?php $sponsorer[0]['navn'] = 'Tine'; $sponsorer[0]['url'] = 'htpt://tine.no'; $sponsorer[1]['navn'] = 'Bama'; $sponsorer[1]['url'] = 'http://bama.no'; $id_rand = array_rand($sponsorer); echo "Kantina er sponset av: <a href='" . $sponsorer[$id_rand]['url'] . "'>" . $sponsorer[$id_rand]['navn'] . "</a>"; ?> Godt mulig det ikke er dette du ønsket, men syns selv det er lettere å jobbe rett i et array, istede for å bruke explode og andre saker mot en tekstfil. Utestet. Lenke til kommentar
MrBjoern Skrevet 8. januar 2007 Forfatter Del Skrevet 8. januar 2007 @ M4rTiN Takk Det er ikke mange sponsorene det er snakk om, så den lille ekstra jobben tar ikke så lang tid. btw: Takk til dere andre også Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå