24-06-2014 o 7:25

[PHP] Tworzymy skracacz linków - cz. VI - LinkShort v2 - statystyki

Siemka

Dzisiaj długo oczekiwana część do naszego skracacza linków, którego kiedyś nazwałem LinkShort.

Jak pewnie już widzicie po zdjeciu, wymyśliłem sobie logo, hehe :) Ale was to nie interesuje, was interesuje "Jak stworzyć statystyki do skracacza linków?".

Poniżej daje wam odpowiedź.

Po prostu w bazie danych, w naszej tabeli gdzie zapisujemy skróty dodajemy na końcu dodatkową kolumnę. Możemy ją nazwać przykładowo "wysw", skrót od "wyświetlenia" lub jak tam chcecie.

(Ogólnie będzie to krótki poradnik. Bo chcemy mieć statystyki kliknięć w dany link)

Wracając do tematu.
Gdy już utworzymy sobie dodatkową kolumnę, to musimy teraz dodać kilka zmian w naszym kodzie, który wykonywaliśmy na początku (zobacz).

Odnajdujemy linię kodu odpowiadającą za dodawanie nowego skrótu, która wyglądała tak:
mysql_query("INSERT INTO skroty SET nazwa='".$_POST['nazwa']."', link='".$_POST['adres']."'");

A teraz do tego zapytania, na końcu dodajemy:
wysw='0'

Wtedy kod będzie wyglądał tak:
mysql_query("INSERT INTO skroty SET nazwa='".$_POST['nazwa']."', link='".$_POST['adres']."', wysw='0'");

Mam nadzieję, że jest to jasne.

Jaki powinien być następny krok?
Dodawanie przy każdym kliknięciu na link jedynkę do kolumny "wysw" przy danym skrócie.

Jak to zrobić?
Musimy odnaleźć kod odpowiadający za pobieranie skróconego adresu, który wyglądał tak:
        $zapSQL = mysql_query("SELECT * FROM skroty WHERE nazwa = '".$_GET['url']."'");
       
        if($_GET['url'] == TRUE && mysql_num_rows($zapSQL) > 0){
            while($pokaz = mysql_fetch_assoc($zapSQL)) {
                echo 'Trwa przekierowanie <br />Jeśli nie nastąpi w ciągu kilku sekund, <a href="'.$pokaz['link'].'">kliknij tutaj</a>';
                ?>
                    <script type="text/javascript">
                    setTimeout(function(){
                    window.location.href = "<?php echo $pokaz['link']; ?>";
                    },
                    5000);
                    </script>
                <?php
            }   
        }

I zaraz po linijce while(...), musimy dodać zapytanie, dzięki któremu dodamy kliknięcie do kolumny "wysw" klikniętego skrótu.

Kliknięcie można dodać w łatwy sposób wystarczy dać wysw=wysw+1 :) A całe zapytanie wygląda wtedy tak:
mysql_query("UPDATE skroty SET wysw=wysw+1 WHERE id='".$pokaz['id']."'");

Co do wyświetlania statystyk kliknięć, to myśle, że jak ruszycie troszkę głową, to dacie sobie radę sami :)

Wystarczy użyć tego samego zapytania co wyświetla nam adres skróconego linku, tylko z tym, że jak mamy zapytanie $zapSQL, to musimy usunąć od WHERE do końca linii.

Pozdrawiam
Drag

Planowany rozkład tworzenia LinkShort-a:
cz. I - wprowadzenie
cz. II - sprawdzanie i dodawanie przez PHP do bazy MySQL
cz. III - ustawienia .htaccess
cz. IV - zabezpieczenia
--------------------------------------------------------------------------
cz. V - LinkShort v2 - wprowadzenie
cz. VI - LinkShort v2 - statystyki
cz. VII - LinkShort v2 - panel zarządzania

Komentarze
© 2010 - 2018 - Karol Drąg
Wszelkie prawa zastrzeżone
Polityka plików cookies