Avatar billede wisemind Nybegynder
23. juni 2009 - 13:03 Der er 7 kommentarer og
1 løsning

PHP random selection mellem 3 kampagner

Hey eksperter,

Har en del i et script der driller mig lidt. Intentionen er, at der skal rotere 3 forskellige reklamer.

Nummer 1 skal vises 20% af gangene
Nummer 2 skal vises 20% af gangene
Nummer 3 skal vises 60% af gangene

Det kan sikkert gøres kønnere end den måde jeg har forsøgt på, og det virker da heller ik hehe. Nedenstående er koden, så tror i fanger hvad jeg mener.

$random = rand(1,10);
echo "$random";
if($random == "1" OR "2")
  {
  $campaign_link = $fetch_campaign['campaign_1_link'];
  $campaign_title = $fetch_campaign['campaign_1_title'];
  $campaign_desc = $fetch_campaign['campaign_1_desc'];
  }
if($random == "3" OR "4")
  {
  $campaign_link = $fetch_campaign['campaign_2_link'];
  $campaign_title = $fetch_campaign['campaign_2_title'];
  $campaign_desc = $fetch_campaign['campaign_2_desc'];
  }
if($random == "5" OR "6" OR "7" OR "8" OR "9" OR "10")
  {
  $campaign_link = $fetch_campaign['campaign_3_link'];
  $campaign_title = $fetch_campaign['campaign_3_title'];
  $campaign_desc = $fetch_campaign['campaign_3_desc'];
  }

Nogen der ved hvordan man fikser det?
Avatar billede siphon Nybegynder
23. juni 2009 - 13:22 #1
2 ting du kunne prøve fjern "" okring dine tal da det gør dem til en string og ikke et INT .. derefter fjern OR og byt ud med ||

___________

Håber det lykkedes :D
Avatar billede wisemind Nybegynder
23. juni 2009 - 13:32 #2
Hej siphon og tak for det hurtige svar. Jeg har rettet koden med dine forslag, men den vælger stadig kun kampagne 3


Koden:

$random = rand(1,10);
echo "$random";
if($random == 1||2)
  {
  $campaign_link = $fetch_campaign['campaign_1_link'];
  $campaign_title = $fetch_campaign['campaign_1_title'];
  $campaign_desc = $fetch_campaign['campaign_1_desc'];
  }
if($random == 3||4)
  {
  $campaign_link = $fetch_campaign['campaign_2_link'];
  $campaign_title = $fetch_campaign['campaign_2_title'];
  $campaign_desc = $fetch_campaign['campaign_2_desc'];
  }
if($random == 5||6||7||8||9||10)
  {
  $campaign_link = $fetch_campaign['campaign_3_link'];
  $campaign_title = $fetch_campaign['campaign_3_title'];
  $campaign_desc = $fetch_campaign['campaign_3_desc'];
  }
Avatar billede siphon Nybegynder
23. juni 2009 - 13:35 #3
okay selv om tal'ene er de andre ?
Avatar billede wisemind Nybegynder
23. juni 2009 - 13:39 #4
Ja
Avatar billede siphon Nybegynder
23. juni 2009 - 13:41 #5
<?php
$random = rand(1,10);
echo "$random<br>";
if($random <= 2)
  {
  echo "Kampagne 1<br>";
  }
if($random <= 4 && $random != 1 && $random != 2)
  {
    echo "Kampagne 2<br>";
  }
if($random >= 5 )
  {
    echo "Kampagne 3";
  }

?>


SÅDAN DU :D
Avatar billede wisemind Nybegynder
23. juni 2009 - 13:51 #6
Så virker det sgu, smukt! Tak for hjælpen!
Avatar billede mcb2001 Nybegynder
23. juni 2009 - 13:57 #7
<?php
$random = rand(1,10);
echo "$random<br>";
if($random <= 2)
  {
  echo "Kampagne 1<br>";
  }
if($random <= 4 && $random >= 2)
  {
    echo "Kampagne 2<br>";
  }
if($random >= 5)
  {
    echo "Kampagne 3";
  }

?>
Avatar billede mcb2001 Nybegynder
23. juni 2009 - 13:57 #8
det er da nemmere - (if sætning 2)
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



IT-JOB