Standardowo zwiekszam ilosc odslon lub pobrań pliku poprzez :
$wykonaj = "UPDATE bloki SET `odslon` = `odslon` + 1 WHERE id='$id'";
$ok = mysql_query($wykonaj); //zwieksza licznik odslon danej podstrony
Dział to, gdy skrypt wykonuj sie na nowej stronie.
Mam teraz problem, gdyż chcę by licznik odlon zwiększał sie po kliknieciu w link np < a href=... > link </a>
Tego typu rzeczy sa wykorzystywane przy skryptach downloadu, nie wiem jak to zrobic.
Grzyw
10.09.2007, 12:39:22
<a href="strona z updatem bazy.php">LINK
</a>
a na tej stronie:
<?php
$wykonaj = "UPDATE bloki SET `odslon` = `odslon` + 1 WHERE id='$id'";
$ok = mysql_query($wykonaj); //zwieksza licznik odslon danej podstrony header( 'Location: linkdopogrania.doc' ); ?>
Możesz tak, na przykład.
Albo po stronie klienta zamiast
header()<script type="text/javascript"> document.location.href='linkdopogrania.doc';
To ma być inaczej. Chce wyswietlac obrazek galerii w oknie popup za pomoca AJAX. I jezeli bym to wyswietlal w oddzielnym pliku html to bym skorzystal z mego powyrzeszego kodu, ale zmiana wartości licznika musi nastapic po kliknieciu obrazka jako odnosnika, czyli:
<?php
//jakis skrypt JS
<a href="obrazek.gif" title="adres"> <img src="miniaturka" alt="tytul" />
// po klikniecie na obrazek skrypt musi zwiekszac licznik tak jak ponizej :
$wykonaj = "UPDATE bloki SET `odslon` = `odslon` + 1 WHERE id='$id'";
$ok = mysql_query($wykonaj); //zwieksza licznik odslon danej podstrony ?>
kipero
10.09.2007, 13:41:53
No to sam sobie odpowiedziałeś. Wysyłasz AJAXem POSTa do zewnętrznego pliku podając ID pliku.
Skrypt AJAXa odpowiada za wyswietlenie obrazka, a potrzebuje skryptu ktory po kliknieciu zwieksza licznik w bazie SQL
franki01
10.09.2007, 15:49:46
To stworz nowy objekt z Ajaxu i odwolaj sie nim do innego pliku, ktory zwiekszy wartosc licznika
Po pierwsze to nie musi być ajax. Po drugie nie wiem jak to zrobic, czytaj uwaznie jak bym znal rozwiazanie nie truł bym na forum.
franki01
11.09.2007, 12:44:25
Jako odnosnik dac link do pliku, gdzie jest taki kod:
Cytat(Grzyw @ 10.09.2007, 13:39:22 )

[html]
<?php
$wykonaj = "UPDATE bloki SET `odslon` = `odslon` + 1 WHERE id='$id'";
$ok = mysql_query($wykonaj); //zwieksza licznik odslon danej podstrony header( 'Location: linkdopogrania.doc' ); ?>
I potem przekieruje do, juz konkretengo pliku...
Nie wiem jaki problem ;/
Tu nie chodzi o przekierowanie. Na stronie jest link do obrazka w postaci :
<a href="adres"> <img src="image/obrazek.jpg" /></a>
I teraz chce by po kliknieciu na obrazek-link :
- zwiekszył się licznik odsłon obrazka,
- obrazek otworzyl sie w tym samym oknie.
Czyli potrzeba jakiegos skryptu, ktory sprawdzi np if on-click ORAZ wykona zwiekszenie odslon w bazie
.radex
11.09.2007, 13:50:30
no to otwórz to za pomocą AJAX'a. Skrypt php od razu odpali inkrementaje i wygeneruje stronke ze zdjeciem, a AJAX to wyświetli. Co w tym dziewnego?!
Jaki skrypt to odpali ? bo na razie nie mam skryptu ktory to odpali
franki01
11.09.2007, 14:13:11
Albo, jak nie umiesz/nie chcesz uzywac AJAXa to zrob niewidoczne <iframe> i tam zaladuj jakis plik, ktory zwiekszy ilosc odwiedzin...
Wydaje mi sie ze iframe to archaizm . Piszesz jakiś plik i tu jest sedno pytania - jaki skrypt.
tehn
13.09.2007, 11:22:30
jeżeli ajax odpowiada Ci za wyświetlenie obrazka tak samo może zwiększyć licznik na bazie... doklejasz tylko do niego dwie linijki które to robią...
a zwiększenie licznika na stronie?

piszesz sobie prostą funkcje w javascripcie która po naciśnięciu na link zwiększa Ci odpowieni numerek na stronie... albo jak już to było napisane ajax ustawia ten numerek...
jakiej biblioteki używaż do ajaxa...
A może .htaccess? Żądania do folderu /images/ przekieruj na jakiś pliczek PHP (np.: view.php), a tam już jak podali poprzednicy - UPDATE bazy, header(), readfile().
Co do zwiększania licznika AJAXem - jeśli nie chcesz brać pod uwagę całkowitej liczby kliknięć (również przez innych użytkowników), to zwykły JS wystarczy.
Pozdrawiam
No dobrze niech to bedzie JS ale nie wiem kopletnie jak to zrobic, bo o ile na PHP i SQL sie znam to skrytpy JS i AJAX przerabiam na wlasne potrzeby a nie tworze ich. :-(
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.