[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Условие выбора данных из базы
phagos
Приветствую всех!
Глобально задача состоит в том, чтобы из БД вынуть все данные, соответсвующие article_kingdom ='FNG', которые будут сортироваться по алфавиту.
Проблема в том, чтобы ограничить эти данные и построить таблицу. Не получается правильно посчитать количество строк в таблице. Вот так это выглядит:
if (!isset($_GET['sortby']) || !preg_match("/^[0-9A-Za-zА-Яа-я]$/", $_GET['sortby'])) { $_GET['sortby'] = "all"; }
$orderby = ($_GET['sortby'] == "all" ? "" : " WHERE article_subject LIKE '".stripinput($_GET['sortby'])."%'");
$result = dbquery("SELECT * FROM ".DB_ARTICLES.$orderby."");

$rows = dbrows($result);
В этом случае сортировка работает, но считаются строки по всей базе. А мне надо только article_kingdom ='FNG'. Если в dbquery добавляю усливие WHERE, то сортировщик ругается и ничего не работает.
Пробовал посчитать строки вот так
$rows = dbcount("(article_kingdom)",DB_ARTICLES,"article_kingdom ='FNG'");
но в таком случае строки не реагируют на сортировку.




Спустя 41 минута, 11 секунд (12.07.2010 - 11:03) SlavaFr написал(а):
ну если сортировщик ругаетсй, то напиши нам его ругань.
dbrows, dbquery, dbcount кстете не стандартные функции пхп, так что влезь в функции до того момента где они получают SQL как стринг и покажи нам как окончательный SQL выглядит.

Спустя 22 минуты, 47 секунд (12.07.2010 - 11:26) ssa написал(а):
Насколько я понял проблему, решение вот:

$orderby = ($_GET['sortby'] == "all" ? "" : " AND article_subject LIKE '".stripinput($_GET['sortby'])."%'");
$sql = "SELECT * FROM ".DB_ARTICLES."
WHERE article_kingdom ='FNG'
"
.$orderby."
ORDER BY article_subject"
;
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);

Спустя 36 минут, 48 секунд (12.07.2010 - 12:03) phagos написал(а):
Большущее спасибо!
Всё заработало адекватно. Оказывается кроме количество строк, я написал кривой код для заполнения таблицы. Но благодаря коду ssa во всем разобрался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.