Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Dodanie informacji do bazy danych
Forum PHP.pl > Forum > Przedszkole
aga888
Witam, chciałabym zrobić coś takiego: mam bazę danych składającą sie z tabeli:
id_user
user_login
user_haslo
w których są informacje o użytkownikach. Po zalogowaniu jest strona na której jest kilkanaście linków. Po kliknięci na link przez użytkownika dodawałaby się informacja do bazy, do jakiejś nowej kolumny, że użytkownik kliknąl na dany link i ile razy kliknąl na dany link. Muszę mieć informację ile razy dany użytkownik kliknąl na dany link. Jeśli ktoś ma jakieś pomysły to proszę o pomoc:)
zzeus
Coś takiego jak Google Analytics ?
dadexix
robisz sobie tablice:

$array['NAZWA_LINkU1'] = "LICZBA KLIKNIĘĆ"
$array['NAZWA_LINkU2'] = "LICZBA KLIKNIĘĆ"
$array['NAZWA_LINkU3'] = "LICZBA KLIKNIĘĆ"
$array['NAZWA_LINkU4'] = "LICZBA KLIKNIĘĆ"
np.
$array['a'] = 4;
$array['b'] = 2;
$array['t'] = 7;
$array['e'] = 5;

potem robisz
  1. <?php
  2. serialize($array);
  3. ?>

i wpakowywujesz to do bazy:) potem jak chcesz to ściągasz to co Ci wychodzi z bazy i dajsz unserialize" title="Zobacz w manualu PHP" target="_manualsmile.gif wiem ze głupie rozwiązanie ale będzie działać - bo ciężko to połaczyć by używać jednej kolumny w jednej tabeli i mieć różne dane(np. do kilku linków)
xbigos
Ja bym to spróbował zapisać w jednym rekordzie np w ten sposób. Dodać do danego użytkownika kolejny rekord np liczbaklikniec a w rekordzie wpisałbym te dane:

link1|2;link2|3; itd

wtedy przez explode sobie wydzielić dla link1 = 2 kliknięcia dla link2 = 3 klikniecia itd.
poczytaj sobie w manualu o explode.
http://pl.php.net/explode
Wydaje mi się, że ten sposób będzie najbardziej optymalny. chyba ze liczba linków bedzie stała wtedy można zrobić mniej estetycznie i dodawać do każdego linku nowy rekord ale przy większej ilości linków zrobi Ci się syf

Pozdrawiam
isso
w/g mnie najlepszym rozwiązaniem będzie utowrzenie jednej tabeli gdzie będą dane o userach a drugiej z danymi o linkach. Rozwiązujesz to tak:

W Tabeli Users masz:

idUser INT
loginUser TEXT
passUser TEXT
linkcounterUser TEXT


W Tabeli Links masz:

idLink INT
linkLink TEXT
counterLink INT

I teraz tak:
Zakładamy, że użytkownik jest poprawnie zalogowany, klika on na link, link ma odpowiednie id i skrypt wykonuje taką operację:

pobiera linkcounterUser od danego użytkownika robi explode()" title="Zobacz w manualu PHP" target="_manualdo tablicy i inkrementuje daną z tablicy o indeksie id-1, a następnie robi implode() " title="Zobacz w manualu PHP" target="_manualdo zmiennej i zapisuje całość do linkcounterUser po czym kolejna funkcja pobiera wartość counterLink i także ją inkrementuje po czym zapisuje spowrotem.

dane w linkcounterUser można przykładowo zapisywac na zasadzie: 1;23;34;2;53;29 i później używając własnie funkcji explode z argumentem ";" 'wyrzucać' całość do tablicy.

Następnie odpowiednimy funkcjami możesz łatwo sprawdzić, który link ma ile kliknięć, kto ile razy kliknął na konkretny link, a także kto ile razy w ogóle kliknął, a wszystko praktycznie w obszarze dwóch funkcji explode()" title="Zobacz w manualu PHP" target="_manual i implode()" title="Zobacz w manualu PHP" target="_manual oraz pobierania i zapisywania danych do bazy.
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.