Wpisany przez Jan Jackowicz-Korczyński
|
poniedziałek, 02 listopada 2009 00:00 |
Bazy dancyh CMS Joomla sa bazami relacyjnymi. Dla uzyskania satysfakcjonujących nas wyszukiwań interesujących nas danych musimy uciec się do zapytań złożonych na kilku tabelach.
<? php
// Złożone pytanie SQL jakie artykuły są autorstwa: $activClient
// Gdzie $activClient =
//[identyfikator aktualnie zalogowanego użytkownika].
// Sprawdź, pzred użyciem czy = 0 [nikt niezalogowany]
// Pytanie wygenerowane w phpMyAdmin
// Zmieniony konkretny szukana liczba na zmienną $activClient
// Baza tworzy tabelę wyników: id artykułu, tytuł artykułu, id sekcji, tytuł sekcji, id kategorii, tytul kategorii,
$sql = 'SELECT t1.id , t1.title , t2.id , t2.title, t3.id , t3.title, t1.created, t1.modified, t1.acces'
. ' FROM jos_content t1'
. ' JOIN jos_sections t2 ON t1.sectionid = t2.id'
. ' JOIN jos_categories t3 ON t1.catid = t3.id'
. ' WHERE `created_by` ='
. $activClient;
?>
Ogólna struktura zapytania złożonego w SQL -
przykład poniżej:
SELECT t1.polaA, t2.poleB, t3.poleC, td.poleD
FROM tabela1 t1
JOIN tabela2 t2 ON t1.poleX = t2.poleX
JOIN tabela3 t3 ON t1.poleX = t3.poleX
JOIN tabela4 t4 ON t1.poleX = t4.poleX;
Tutaj: t1, t2, t2 = wewnętrzne dla pytania identyfikatory tabel
tabela1, tabela2, tabela3 = prawdziwe nazwy tabel w twojej bazie
tabela1 t1 = zastępowanie prawdziwej nazwy tabeli jej identyfikatorem
Nazwy zamienia się na identyfikatory by zapis składni pytania
był bardziej przejrzysty i czytelniejszy.
|