Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie SQL w postaci czytelnej dla ludzi:)
007slawek
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
007slawek
post
Post #2





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?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 21:46