if (!isset($_SESSION[s_name]) && !isset($_SESSION[s_fio])) { $sql="select * FROM clients order by Дата_обр DESC";}
else {
$sql="SELECT * FROM clients WHERE";
if (isset($_SESSION[s_fio])) {$sql=$sql." КЛ1_ФИО LIKE '%$_SESSION[s_fio]%'";}
if (isset($_SESSION[s_name])){$sql=$sql." and Название LIKE '%$_SESSION[s_name]%'";}
if ($_SESSION[s_y]<>'%' or $_SESSION[s_m]<>'%'){
$in_sql="SELECT cl_id FROM orders WHERE Дата Like '%.$_SESSION[s_m].$_SESSION[s_y]%'";
$sql=$sql." and id IN ($in_sql)";}
$sql=$sql." ORDER BY id DESC";
}
SQL?
Код:
Работает...
Но было бы лучше если бы всё это дело сортировалось не по id из таблицы clients а по id из таблицы orders.
На данный момент SQL примерно такой:
SELECT * FROM clients WHERE КЛ1_ФИО LIKE '%%' and Название LIKE '%%' ORDER BY id DESC
и SQL для счётчика: SELECT Count(*) FROM clients WHERE КЛ1_ФИО LIKE '%%' and Название LIKE '%%'.
Вопрос: как будут выглядеть обе эти SQL что б выполнялась поставленная задача.
P.S. Пробовал сам сделать но по-чему выдавал кашу. "не много отсортированную"
Цитата: Maximuz
Вопрос: как будут выглядеть обе эти SQL что б выполнялась поставленная задача.
вопрос неправильный.
правильно будет - удалить весь поток сознания и дать сюда:
1. структуры таблиц
2. ожидаемый результат - что вы, в конечном итоге хотите получить
Хорошо. Есть две таблицы. Клиенты и заказы. Связаны они таки образом: в таблице заказы имеется поле содержащие айди клиента сделавшего заказ. На странице выводятся клиенты в том порядке в котором они зарегистрировались. А надо чтоб выводились в том порядке, в котором они делали заказы.
Код:
SELECT userid, orderid FROM orders o LEFT JOIN users u ON u.userid=o.userid
Примерно как-то так
только ORDER BY добавить еще...