MySQL class меньше кода,больше дела (Рейтинг: +14)
Последние время надоело выполнять кучу запросов к базе и писать кучу кода,подсчёт результатов,проверка на существование,перегонять масcивы.Я решил написал class для удобной работы и сокращения кода.
Вот собственно небольшой класс
sql(query,option)
query - Запрос в базу
option - Опция что вернуть
6 опций
COUNT_NUM - вернёт число mysql_result()
QUERY - вернёт запрос
ARRAY - вернёт масив с нумерацией
ASSOC - вернёт асоцитивный массив без нумерации полей ,но с именами
TEMPLATE - вернёт масив для шаблона Smarty
NUM_ROWS - выполнит проверку на существование и вернёт true или false
Ниже приведу примеру работы с классом.
Вызываем класс
Пример-1 нам надо подсчитать количество записей в таблице с id 1
К примеру нам надо проверить существует ли в таблицы юзер с id 1
Вывод в шаблоне
{section name=i loop=$result}
{$result[i].name_pole}
{/section}
Для вывода ошибки запроса
Добавил: orel
15.05.2010 / 13:01Вот собственно небольшой класс
<? /* MySQL класс BY Орёл icq: 952042 */ /*Возвратит число*/ define('COUNT_NUM','countnum'); /*Возвратит запрос*/ define('QUERY','query'); /*Возвратит масив*/ define('ARRAY','array'); /*Возвратит асоцытивный масив*/ define('ASSOC','assoc'); /*Возвратит масив для Smarty цикла section*/ define('TEMPLATE','template'); /*Запрос с проверкой на существование ,возвращение true ,false*/ define('NUM_ROWS','numrows'); class sql_class{ function sql($query,$option){ if ($option == 'countnum'){ $OR_SELECT = mysql_result(mysql_query($query),0); if (!$OR_SELECT) {$OR_SELECT = 0;} return $OR_SELECT; }elseif ($option == 'query'){ $OR_SELECT = mysql_query($query); return $OR_SELECT; }elseif ($option == 'array'){ $OR_SELECT = mysql_query($query); $data = mysql_fetch_array($OR_SELECT); return $data; }elseif ($option == 'assoc'){ $OR_SELECT = mysql_query($query); $data = mysql_fetch_assoc($OR_SELECT); return $data; }elseif ($option == 'template'){ $OR_SELECT = mysql_query($query); while ($data = mysql_fetch_assoc($OR_SELECT)){ $dat[] = $data; } return $dat; }elseif ($option == 'numrows'){ $OR_SELECT = mysql_query($query); if (mysql_num_rows($OR_SELECT)){ return true; }else{ return false; } } } function mysql_error(){ return mysql_error(); } } ?>Синтакси функции sql::sql()
sql(query,option)
query - Запрос в базу
option - Опция что вернуть
6 опций
COUNT_NUM - вернёт число mysql_result()
QUERY - вернёт запрос
ARRAY - вернёт масив с нумерацией
ASSOC - вернёт асоцитивный массив без нумерации полей ,но с именами
TEMPLATE - вернёт масив для шаблона Smarty
NUM_ROWS - выполнит проверку на существование и вернёт true или false
Ниже приведу примеру работы с классом.
Вызываем класс
<? $s = new sql; // Достаточно один раз вызвать в шапке ?>вызов функции
Пример-1 нам надо подсчитать количество записей в таблице с id 1
<? $result = $s->sql("SELECT COUNT(*) FROM table WHERE id='1'",COUNT_NUM); echo $result; // Результат ?>Пример-2 выполнить и вернуть запрос
<? $result = $s->sql("SELECT * FROM table WHERE id='1'",QUERY); ?>Пример-3 сделать запрос и вернуть масив с именами полей и нумерацией.
<? $result = $s->sql("SELECT * FROM table WHERE id='1'",ARRAY); print_r($result); //Читаем массив ?>Пример-4 получить асоцитивный масив без нумерации полей,но с именами
<? $result = $s->sql("SELECT * FROM table WHERE id='1'",ASSOC); print_r($result); //Читаем массив ?>Пример-5 сделать запрос с выполнением подсчёта mysql_num_rows возвращение true или false
К примеру нам надо проверить существует ли в таблицы юзер с id 1
<? $result = $s->sql("SELECT * FROM user WHERE id='1'",NUM_ROWS); if ($result){ echo 'Пользователь существует'; }else{ echo 'Пользователь не существует'; } ?>Пример-6 пример запроса и возвращение массива для шаблонизатора Smarty
<? $result = $s->sql("SELECT * FROM user ",TEMPLATE); ?>
Вывод в шаблоне
{section name=i loop=$result}
{$result[i].name_pole}
{/section}
Для вывода ошибки запроса
echo $s->mysql_error();Вроде всё .
Рейтинг:
+14
Просмотры: 2777Комментарии (15) »