|
В тази статия ще се запознаем с това как да извеждаме данни от MySQL и да ги подаваме към Smarty шаблон. Ще разгледаме и едно примерно приложение за новини, я което ще страницираме резултатите.
Кратко въведение в SQL(select) Тъй като тази статия има за цел да покаже само извеждането на данни от таблицата ще се спрем само на конструкцията SELECT. И то при MySQL база от данни. Това е конструкция за намиране на определени резултати, които отговарят на дадени критерии. Ето и нейният синтаксис: Цитат от "sql code": SELECT [ DISCTINCT | DISCTINCTROW | ALL ][ INTO OUTFILE ‘filename’ export_options ] [ FROM table_name ] [ WHERE where_definition ] [ LIKE %string% ] [ GROUP BY colum_name,… ] [ HAVING where_definition ] [ ORDER BY colum_name, [ ASC | DESC] ] [ LIMIT {[offset,] row_count | row_count OFFSET offset}] Когато изграждате една заявка за търсене, нейните компоненти трябва да са подредени точно по този начин. Не може да сложите LIMIT преди HAVING или пък WHERE след LIMIT :). Освен това SELECT може да се ползва и за изчисления: примерно: SELECT 1+1 ще ни върне резултат 2. Но нека да се спрем на самото търсене и по точно, кой компонент от заявката какво означава: 1. DISCTINCT – се използва за да се уверите, че няма да има повторения във върнатия резултат. 2. INTO OUTFILE – чрез тази опция записваме данните във външен файл по определен начин. За повече подробности прочетете на http://dev.mysql.com 3. FROM – определя от кои таблици ще се извлича информацията. За улеснение имената на таблиците могат да се заменят с псевдоними: SELECT f16, f18 FROM table1 as T1, table2 as T2 WHERE T1.id = T2.sid 4. WHERE – с помощта на тази опция задаваме условията на които трябва да отговарят данните.Като тези условия могат да бъдат: оператори за сравнение, математически функции и логически изрази. 5. LIKE – тази опция открива съвпадение по шаблон. Връща стойност TRUE ако дадения израз съвпада с шаблона. Специалните символи са: % - съвпадение с 0 или повече символа _ - съвпадение с точно един символ. 6. GROUP BY – позволява групиране на данните по дадено поле. 7. HAVING – тук се задават условия като при WHERE, но разликата е че тези условия се отнасят за групата която сме избрали с GROUP BY. 8. ORDER BY – определя как по кое поле и как да бъде подреден резултата: ASC – възходящ ред(по-подразбиране е така), DESC – низходящ ред на стойностите. 9. LIMIT – използва се за ограничение на върнатите резултати. Може да приема 1 или 2 числови аргумента – първия определя номер на ред(начална позиция), а втория брой реда. При другия синтаксис ако използваме OFFSET числото преди 10. OFFSET е броя взети записа, а след него отместване от първия запис.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||








