![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 18.04.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Mam w bazie zapisane zapytania SQL, które zostały wykonane w panelu administracyjnym w formie np: UPDATE customers SET customer_name='Jan Kowalski' WHERE customer_id=1. I teraz chciałbym uzyskać na stronie postać np: Zmieniono w tabeli Klienci nazwisko klienta na Jan Kowalski Czyli szukam jakiegoś parsera, analizatora, który po odpowiedniej konfiguracji zwróci mi taką formę, jak opisana wyżej. Mam już pomysł jak to zrobić, ale chciałem Was zapytać, czy nie znacie jakiegoś gotowego rozwiązania. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 4 Dołączył: 23.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że chcesz to uzyskać na podstawie tylko bazy danych? Nie tworzysz żadnych logów itd?
Ten post edytował Kalinowcyk 25.03.2009, 22:10:16 -------------------- Notatnik programisty
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 18.04.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tak, wszystkie zapytania mam w bazie i chcę je pobrać i wyświetlić na stronie, tak, żeby dla gościa było to zrozumiałe. Narazie zrobiłem to tak "rozbieram" zapytanie na części.
Stworzyłem jedną tablicę, w której mam jako klucze nazwy wszystkich tabeli, a jako wartości tłumaczenia ich, czyli np $tablica = Array("customers"=>"Klienci");. Jak znajdzie mi w analizowanym zapytaniu (powiedzmy UPDATE) sql nazwę tabeli customers, to zamienia mi to na tekst "Zmieniono w tabeli Klienci". Następnie mam drugą tablicę z kluczami w danej tabeli i nazwami pól, w których znajdują się wartości tych kluczy, czyli np. $tablica = Array("customer_id", "customer_name). I jeszcze jedną tablicę z odpowiednio odmienionymi nazwami wszystkich pól np. $tablica = Array("customers_email"=>"Adres e-mail"); Przypuśćmy, że mamy zapytanie UPDATE customers SET customer_email='jan@kowalski.com' WHERE customer_id='12'. Program sprawdza typ zapytania. Tutaj UPDATE, więc zaczyna nowy strong od "Zmieniono w tabeli " Póżniej sprawdza tłumaczenie nazwy tabeli. Znalazł customers, więc "Zmieniono w tabeli Klienci" Następnie znajduje nazwę pola customer_email i jego wartość, więc mamy już "Zmieniono w tabeli Klienci Adres e-mail na jan@kowalski.com" Sprawdza czy jest WHERE i wtedy mamy "Zmieniono w tabeli Klienci Adres e-mail na jan@kowalski.com u " Skrypt przeszukuje czy customer_id jest w tablicy z kluczami. Jest więc tworzy zapytanie SELECT customer_name FROM customer WHERE customer_id='12' I tak w sumie otrzymujemy tekst "Zmieniono w tabeli Klienci Adres e-mail na jan@kowalski.com u klient JAn Kowalski" O takie coś mi chodzi. Czy myslicie, że w dobrym kierunku idę, czy może jest jakiś inny sposób na wykonanie tego? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
str_replace" title="Zobacz w manualu PHP" target="_manual + preg_replace" title="Zobacz w manualu PHP" target="_manual.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 3 Dołączył: 24.03.2009 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
W sumie wartałoby napisać sobie coś takiego. Wręcz zdziwiłbym się gdyby ktoś już tego nie napisał
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 18.04.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
preg_replace i str_replace właśnie do tego używam. tyle już napisałem. tylko jak mowicie, az dziw, ze nie moge znalezc czegos takiego:)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:40 |