![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 21.08.2010 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Witam. Piszę system losowego wyświetlania reklam i mam problem.
Chcę umieścić w nim 3 jednostki adsense graficzne i 2 jednostki linkowe. (3 rodzaje takich samych reklam oraz 2 rodzaje innych takich samych reklam) Pętla wyświetla pozycje numerowane i każda ma swój numer który mam zmierzony. zmienna $gtesto wyswietla maksymalna liczbę pozycji pod którymi chciał bym umieścić reklame. Więc wpadłem na pomysł że napiszę skrypt który będzie losowe wyświetlał w zakresie $gtesto pozycje. $gtest to numer pozycji pod którą ma być wyświetlana reklama cos na zasadzie $reklama1 = rand(1,$gtesto); $reklama2 = rand(1,$gtesto); $reklama3 = rand(1,$gtesto); $reklama4 = rand(1,$gtesto); $reklama5 = rand(1,$gtesto); //echo $gtest; if (($gtest == $reklama1) or ($gtest == $reklama2) or ($gtest == $reklama3)){ echo "reklama graficzna"; } else if (($gtest == $reklama4) or ($gtest == $reklama5)) { echo "reklama linkowa"; } Jeszcze mi się nie zdarzyło, ale wydaje mi się że jeśli padnie 2 razy ta sama liczba z rand dla $reklama1 oraz reklama2 to zostaną wyświetlone obok siebie dwie takie same jednostki a tego bym nie chciał. Jak skonstruować warunek, by w przypadku powtórki umieścił tą reklamę w miejsce $gtest które jest wolne od innej reklamy.? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca zrozumiałem Twoją ideę, ale odpowiem Ci na pytanie, co zrobić, żeby przyporządkowanie nie powtarzało numerów.
Przede wszystkim to: wygląda bardzo brzydko. Skorzystaj z tablicy $reklama o indeksach od 1 do 5. Liczby przyporządkowałbym tak:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 21.08.2010 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
możesz jeszcze opisać mi jak to działa dokładnie ?
nie bardzo rozumiem while ($i<6); |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
while($i<6) czyli gdy $i jest większe od 6 skrypt jest kontynuowany , zauważ że wcześniej nie ma ilości reklam do wygenerowania , właśnie to while określa ilość , daj sobie print_r na $reklama , zaraz po while a wszystko zrozumieć powinieneś .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 05:35 |