Pytania złożone do baz Joomla Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
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.