Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Rotator Bannerów/Wyświetlanie statystyk
Forum PHP.pl > Forum > Przedszkole
boro11
Witam, jakiś czas temu szukałem odpowiedniego i dość prostego rotatora bannerów, który dał by się łatwo zmodyfikować i podłączyć pod system do zamawiania tej formy reklamy. Udało mi się to i oczywiście z pomocą przyszło nasze forum, skrypt z którego skorzystałem znalazłem pod tym linkiem:

http://forum.php.pl/index.php?showtopic=50523

A oto sam skrypt po moich modyfikacjach:

  1. <?php
  2. $zapytanie = "SELECT * FROM test_adsb WHERE data>=current_date AND `status` = 'Approved' ORDER BY rand() LIMIT 1";
  3. $wykonaj = mysql_query($zapytanie);
  4.  
  5. if($dane=mysql_fetch_array($wykonaj))
  6. {
  7. echo ('<a href="'.$dane['url'].'"><img src="'.$dane['bannerurl'].'" alt="Banner Advertising" />');
  8. }
  9.  
  10.  
  11. $wysw = $dane['wyswietlen'];
  12. $url = $dane['url'];
  13. $up = 0.5;
  14.  
  15. $ilwysw = $wysw+$up;
  16.  
  17. $zapytanie2 = "UPDATE test_adsb SET wyswietlen='$ilwysw' WHERE url='$url'";
  18. $wykonaj2 = mysql_query($zapytanie2);
  19.  
  20. if($wykonaj2)
  21. {
  22. echo ('');
  23. }
  24. else
  25. ?>


Jak widzicie nie ma w nim wielu zmian jednak musiałem zmienić wartość "up" na 0.5 ponieważ przy każdym odświeżeniu strony dodawało mi 2 zamiast 1 z niewiadomego mi powodu.
Ale, nie to jest głównym problemem. Chodzi o to że dodaję wyświetlenie do każdego banneru w rotatorze a nie danego jednego który akurat został wylosowany i wyświetlony.
Dodam też że mam w bazie danych w tej tabeli unikalne ID dla każdego zamówienia/banneru więc jeśli to w czymś pomoże to można tego użyć.

Drugim problem leży w kwestii wyświetlania statystyk. Dodając unikalne ID zamówienia miałem w planach stworzenie prostego adresu typu:

adresstrony.pl/zamowienie.php?id=123

Gdzie numer ID to unikalny numer zamówienie. Niestety w żaden sposób nie mogę wygenerować takowej strony :/
Kiedyś już coś takiego zrobiłem jak pisałem skrypt strony z kawałami. Niestety teraz ten sposób w żaden sposób nie chce działać. Po wklejeniu kodu i modyfikacjach tak aby pasował on do nowego zadania nie wyświetla mi się kompletnie nic nawet struktura tabeli thumbsdownsmileyanim.gif

Czy zna ktoś jakiś artykuł/metodę aby coś takiego uzyskać?

Z góry dziękuję za pomoc.
Mateusz
grabek93
w pierwszym nie widzę błędu... tylko w zapytaniach do MySQL typu $zapytanie2 = "UPDATE test_adsb SET wyswietlen='$ilwysw' WHERE url='$url'"; dodałbym `` czyli:
$zapytanie2 = "UPDATE `test_adsb` SET `wyswietlen`='$ilwysw' WHERE `url`='$url'";
to pewnie nie pomoże.

jeśli chodzi o 2; ja zawsze robię tak:
  1. <?php
  2. $id = $_GET['id'];
  3. $zapytanie = "SELECT * FROM `tabela` WHERE `id`='$id'";
  4. $wykonaj = mysql_query($zapytanie);
  5. $baza=mysql_fetch_array($wykonaj);
  6. ?>

a potem gdzieś na stronie np:
  1. <p id="tytul"><?php echo $baza['nazwa_kolumny'] ?></p>

nie wiem czy o to chodziło
boro11
Dokładnie o to mi chodziło, dziękuję bardzo smile.gif

Niestety pierwszy problem nadal nie został rozwiązany sad.gif
grabek93
jeśli chodzi o to 1, spróbuj po id. może masz te same $url co?

$id = $dane['id'];
$zapytanie2 = "UPDATE test_adsb SET wyswietlen='$ilwysw' WHERE url='$id'";

i taki jeszcze mały błąd:
echo ('<a href="'.$dane['url'].'"><img src="'.$dane['bannerurl'].'" alt="Banner Advertising" /></a>');

możesz zobaczyć też czy wsadzenie wszystkiego w if:

if($dane=mysql_fetch_array($wykonaj))
{
echo ('<a href="'.$dane['url'].'"><img src="'.$dane['bannerurl'].'" alt="Banner Advertising" />');

$wysw = $dane['wyswietlen'];
$url = $dane['url'];
$up = 0.5;

$ilwysw = $wysw+$up;

$zapytanie2 = "UPDATE test_adsb SET wyswietlen='$ilwysw' WHERE url='$url'";
$wykonaj2 = mysql_query($zapytanie2);
}

pomoże, ale raczej to nic nie zmieni

sorki ale nic innego nie przychodzi mi do głowy. jeszcze na to popatrzę chwilę. mam wrażenie że to strasznie banalne haha.gif
boro11
Url'e rzeczywiście były te same smile.gif
Podczas testów przy dodawaniu wpisywałem,a raczej wybierałem z listy zawsze to samo aby było szybciej, głupi błąd. Dziękuję za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.