ďťż

[PHP] Skrypt rotacji banerów

       

Podstrony


telcocafe

Witajcie.
Napisałem sobie prosty skrypt do wyswietlania reklam z rotacją. I mam taki mały problem.
otóż. Skrypt pobiera z bazy wszystkie reklamy i losuje jedną.
I jeżeli reklama ma status - wyłączony (0) nie powinna się wyswietlić, a skrypt powinien losować następną.
No i z tym jest problem. Skrypt nie wyświetla reklamy, ale też nie losuje następnej.

Już nie mam pomysłu co tu moze byc zle.
<?php $dbc = mysql_connect ('localhost', 'xxx', 'xxx'); if ($dbc) { mysql_select_db ('xxx',$dbc); if (isset($_GET['id_banner'])) { $zap = mysql_query("SELECT * FROM usr_banners WHERE user_id='".$_GET['id_banner']."';"); if($r = mysql_fetch_array($zap)) { $kl = $r['klikniecia'] + 1; if (!isset($_COOKIE['licza'])) { mysql_query("UPDATE usr_banners SET klikniecia='".$kl."' WHERE user_id='".$_GET['id_banner']."'"); setcookie("licza", '1', time()+900); } header('Location: '.$r['link']); exit; } } else { $wpi = mysql_query("SELECT * FROM usr_banners;"); $strona = array(); $i = 0; while ($wiersz = mysql_fetch_array($wpi)) { $strona[$i] = $wiersz['user_id']; $i = $i + 1; } function losuj($zmienna){ return rand(1, $zmienna)-1; } function printuj($strona, $i){ $xx = losuj($i); $wpi2 = mysql_query("SELECT * FROM usr_banners WHERE user_id='".$strona[$xx]."'"); if($r = mysql_fetch_array($wpi2)) { if (($r['status'] == 1) && (($r['klikniecia'] < $r['zakupione_klikniecia']) || ($r['zakupione_klikniecia'] == 0)) && (($r['odslony'] < $r['zakupione_odslony']) || ($r['zakupione_odslony'] == 0))) { print '<a href="http://www.ads.krolnet.pl/get_ad.php?id_banner='.$r['user_id'].' " target="_blank"><img src="'.$r['banner'].'" alt="Wczytywanie" border="0"></a>'; $in = $r['odslony'] + 1; if (!isset($_COOKIE['licz'])) { mysql_query("UPDATE usr_banners SET odslony='".$in."' WHERE user_id='".$strona[$xx]."'"); setcookie("licz", '1', time()+900); } } else { $i = $i - 1; if ($i > 0) printuj($strona, $i); } } } } printuj($strona, $i); } ?>



Bardziej utrudnić życia już sobie nie umiałeś?
SELECT * FROM usr_banners WHERE user_id=ID AND status=1 ORDER BY RAND() LIMIT 1
Pobiera losowy baner o statusie=1 i danego uzytkownika.

heh. teraz działa bez zarzutów.
dzięki :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.