Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Przechowywanie logów
Forum PHP.pl > Forum > Przedszkole
skowron-line
Witam, mam system który przechowuje wszystkie akcje usera w systemie
tabela
- id_user
- controller
- action
- post
- get
- timestamp

do post i get wrzucam zserializowane tablice, i tu pojawia się problem z przeszukiwaniem
Kod
a:9:{s:9:"user_name";s:4:"test";s:12:"user_surname";s:4:"test";s:5:"login";s:4:"test";s:8:"password";s:4:
"test";s:5:"group";s:1:"1";s:12:"phone_number";s:0:"";s:5:"email";s:0:"";s:8:
"language";s:1:"2";s:6:"submit";s:4:"Save";}

jak teraz wyszukać user_name = test ?
robie to tak
  1. like "%'. addslashes(serialize($search_str)) .'%"
no ale to nie działa.
Czy jest jakiś sposób na to jakiego nie znam, czy może lepiej przed wrzuceniem do bazy zrobić foreach połązyć wszystko i dopiero wrzucić questionmark.gif
wookieb
1) Do takich logów lepiej nadają się inne bazy danych (mongoDB, couchDB, bodajże RIAK), które potrafią szukać po tablicach.
2) Szybciej i wydajniej byłoby ci wstawić te dane do oddzielnej tabeli i tam wyszukiwać
3) Zastanów się czy nie lepiej trzymać to w JSON-ie
4)
  1. pole LIKE '%s:9:"user_name";s:4:"test"%'
skowron-line
Cytat(wookieb @ 27.10.2010, 09:15:09 ) *
  1. pole LIKE '%s:9:"user_name";s:4:"test"%'

Pod warunkiem że podam to tak
  1. addslashes(serialize(array('user_name'=> 'test')));

a w wyszukiwarce wpisują ludzie user_name=test albo inne wariacje.
wookieb
To co masz szuka Ci konkretnej tablicy a nie klucza z wartością. Poza tym co rozumiesz poprzez pojęcie "user_name=test" bo nie rozumiem twojego przykładu.
melkorm
Hm, nie lepiej byłoby zapisywać url'e POST'a i GET'a ?

Wtedy byś nie miał problemu z szukaniem
Kod
test=cokolwiek

Itp.
skowron-line
Cytat(wookieb @ 27.10.2010, 11:13:05 ) *
To co masz szuka Ci konkretnej tablicy a nie klucza z wartością. Poza tym co rozumiesz poprzez pojęcie "user_name=test" bo nie rozumiem twojego przykładu.

W sensie
user_name (nazwa inputa) test (wartość inputa)
Czyli kto w pole user_name wpisał test

@melkorm przerobiłem i w gecie mam tak jak piszesz.
Spawnm
Ale kombinujecie smile.gif
http_build_query
melkorm
Cytat
@melkorm przerobiłem i w gecie mam tak jak piszesz.


Zawsze możesz zrobić to samo z POST'em zapisująć nagłówek POST.
skowron-line
Cytat(Spawnm @ 27.10.2010, 12:14:32 ) *
Ale kombinujecie smile.gif
http_build_query

Tego użyłem

Cytat(melkorm @ 27.10.2010, 12:37:38 ) *
Zawsze możesz zrobić to samo z POST'em zapisująć nagłówek POST.

Tak właśnie zrobiłem.

Dzięki za odpowiedzi.
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.