![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 0 Dołączył: 20.08.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Siemka zrobilem sobie takie rotator banerów
[php:1:8f2a22e3e7]<?php $sql="SELECT * FROM homp_baner"; $result=$db->sql_query($sql); $ile=0; $res2=$db->sql_fetchrow($result); $od=$res2['baner_id']; while ($res=$db->sql_fetchrow($result)){ $ile=$res['baner_id']; } function baner ($typ){ global $db,$ile,$od; $losowy=rand($od,$ile); $sql="SELECT * FROM homp_baner WHERE baner_id='".$losowy."' AND baner_rozm='".$typ."'"; if(!$result = $db->sql_query($sql)) { message_die(GENERAL_ERROR, "Nie mogę wyswietlić Banera.", "", __LINE__, __FILE__, $sql); } $baner=$db->sql_fetchrow($result); if ($baner['baner_show']==$baner['baner_max_show']){ baner($typ); }else{ if ($baner['baner_typ']=='FLASH'){ echo $baner['baner_flash']; $sql="UPDATE homp_baner SET baner_show=baner_show+1 WHERE baner_id='".$losowy."'"; $db->sql_query($sql); }else{ echo '<a href="'.$baner['baner_url'].'" target=_top><img src="'.$baner['baner_img'].'" border="0" alt="'.$baner['baner_alt'].'" width="400" height="50"></a>'; $sql="UPDATE homp_baner SET baner_show=baner_show+1 WHERE baner_id='".$losowy."'"; $db->sql_query($sql); } } } ?>[/php:1:8f2a22e3e7] Ale u mnie nie zdaje egzaminu :)Poniewą najpierw losuje liczbe a potem dopiero pobieram baner.I jesli wylosowana loczba nie spełnia kryteriów baner nie zostaje pokazany.Chciałem to zrobic inaczej mianowicie.Pobieram wszystko idy banerów które spełniają kryterium a potem z tych liczba losuje jakąś.Ale nie wiem jak wylosowąc jakąś liczbe z kilkunastu podanych ![]() -------------------- Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E ___________________________________________________ |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Sprobuj pobrac ID bannerow spelniajacych kryteria do jakiejs tablicy a potem mozesz uzyc funkcji [manual:5a6dae6cda]array_rand[/manual:5a6dae6cda].
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 0 Dołączył: 20.08.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Kurde coś mi nie gra mam tak
[php:1:7003eff862]<?php function baner ($typ){ global $db; $id=array(); $sql="SELECT * FROM homp_baner WHERE baner_rozm=".$typ.""; $result=$db->sql_query($sql); while ($idy=$db->sql_fetchrow($result)){ $id[]=$idy['baner_id']; } $losowy=array_rand($id,1); $sql="SELECT * FROM homp_baner WHERE baner_id='".$losowy."' AND baner_rozm='".$typ."'"; if(!$result = $db->sql_query($sql)) { message_die(GENERAL_ERROR, "Nie mogę wyswietlić Banera.", "", __LINE__, __FILE__, $sql); } $baner=$db->sql_fetchrow($result); if ($baner['baner_show']==$baner['baner_max_show']){ }else{ if ($baner['baner_typ']=='FLASH'){ echo $baner['baner_flash']; $sql="UPDATE homp_baner SET baner_show=baner_show+1 WHERE baner_id='".$losowy."'"; $db->sql_query($sql); }else{ echo '<a href="'.$baner['baner_url'].'" target=_top><img src="'.$baner['baner_img'].'" border="0" alt="'.$baner['baner_alt'].'" width="400" height="50"></a>'; $sql="UPDATE homp_baner SET baner_show=baner_show+1 WHERE baner_id='".$losowy."'"; $db->sql_query($sql); } } } ?>[/php:1:7003eff862] I pokazuje mi sie taki błąd Kod Warning: array_rand() [function.array-rand]: Second argument has to be between 1 and the number of elements in the array in g:wwwphpbb.netfunction.php on line 10
-------------------- Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E ___________________________________________________ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Wygląda na to, że z jakichś powodów tablica $id jest pusta... Wyświetl ją sobie i zobacz jak wygląda (print_r($id)).
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 0 Dołączył: 20.08.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Ok juz zrobilem ale nie losuje mi idów cały czas jest taki sam :[
-------------------- Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E ___________________________________________________ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie zapomnij wywołać srand() aby zainicjować ziarno generatora liczb pseudolosowych.
Czytaj manual, będziesz wielki... -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 0 Dołączył: 20.08.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Wiem wiem :] Wlasnie to przeczytałem :] Thx
-------------------- Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E ___________________________________________________ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 02:33 |