Войти

Показать полную графическую версию : [решено] Сортировка данных, запрос к БД к разным полям.


zvezda_t
22-04-2010, 13:20
Понимаю, возможно глупый вопрос... но что то мне подсказывает, что есть какой то грамотный путь о котором я не догадываюсь и делаю сейчас не очень красиво((

Вот у меня есть запросы:

$result=mssql_query("SELECT data, num, name, sex FROM dbo.user WHERE num='".$num."' ORDER BY data DESC");

$result=mssql_query("SELECT data, num, name, sex FROM dbo.user WHERE sex='".$sex."' ORDER BY data DESC");

$result=mssql_query("SELECT data, num, name, sex FROM dbo.user WHERE num='".$num."' AND sex='".$sex."' ORDER BY data DESC");


Как грамотно их объединить в один (в зависимости от того по какому из полей нужно произвести сортировку)???

Это может показаться не важно если только два поля для сортировки, но когда их 10, уже призадумаешься...

zvezda_t
22-04-2010, 13:43
есть решение:

$where=array();
if( какое-то условие )
$where[]=" num='$num' ";
if( другое условие )
$where[]=" sex='$sex' ";
if( третье условие )
$where[]=" age=$age ";
if....

// и в итоге готовишь общий запрос:
$sql='select .... from ... where '.implode(' and ', $where).' order by ...';

Sham
22-04-2010, 16:36
обрабатывайте переменные перед вставкой в запрос




© OSzone.net 2001-2012