NoDeny функция возвращающая тариф, цену, число абонентов с данным тарифом

В общем поставили мне на днях партийное задание, выбрать количество всех абонентов по каждому тарифу, ну дело это житейское, благо знаний хватает в sql, наклепал запросик, все чудно и прикольно, НО, тарифов — то у нас не один и не два, а ручками постоянно перебивать айди тарифа так впадлу, как говорят «лень двигатель прогресса», пришлось сесть и наклепать небольшую php-функцию которая бы по айди тарифа возвращала число абонентов, имя тарифа, цену тарифа.
Кстати, все это дело можно посмотреть в биллинге, но мы же не ищем легких путей!)))
Чтож приступим, сначала создадим файлик db.class.php со следующим содержимым:
$link = mysql_connect($config['db_host'], $config['db_user'], $config['db_passwd']) or die("Could not connect: " . mysql_error()); |
mysql_select_db($config['db_name']); |
$result[0] = mysql_query($query) or die("Invalid query: " . mysql_error()); |
function Close($dbcnx){ mysql_close($dbcnx); } |
т.е. мы создали класс для работы с мускулом, писался на скорую руку, поэтому на универсальность и правильность не настаиваю, прошу испрвить если что, так как я начинающий пхп кодер )))))
Теперь создадим файл настроек соединения с мускулом, обзовем его config.php
со следующим содержимым:
$config = array( 'db_host' =--> 'localhost', |
собственно теперь создадим файлик index.php, со следующим содержимым:
include_once ('./config.php'); |
include_once ('./db.class.php'); |
function gettarifcount($tarif) { |
$sql = "SELECT count(*) count, plans2.name, plans2.price FROM users \n" ." left join plans2 on users.paket=plans2.id where users.grp in (4,5,6) \n" ." and users.paket=$tarif limit 1"; |
$result = $MySQL->Query($sql); |
while ($row = mysql_fetch_assoc($result[0])) { |
echo "Tarif - ". $row[name] .", price - ". $row[price].", abonents - ". $row[count]; |
$MySQL->Close($result[1]); |
сначала подключаем наш класс и файл с настройками подключения к БД, далее описываем саму функцию с выборкой, и соответсвенно вызываем ее с параметром равным айди тарифа, у меня например 7:
Вывод функции примерно такой:
Tarif - [1050]Тестовый тариф, price - 0, abonents - 1 |
можно использовать ее несколько раз, для вывода числа абонов по разным пакетам:
03.04.2014 в 05:31
· Ссылка
Что-то нет самой функции...
04.04.2014 в 10:31
· Ссылка
Ага, пасип, видимо косяк в плагине на сайте, не отображал код.