Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как добавить сортировку в постраничную навигацию?
Strannik  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 28 дней
Карма: 0




Добрый день.
Для постраничного вывода данных из базы данных MSSQL Server 2008 использую код:

$entersql="SELECT TOP $num * FROM Price 
WHERE id_price NOT IN (SELECT TOP
$numnext id_price FROM Price ORDER BY name) AND id_city='$id_city' AND id_group='$id_group' AND id_subgroup IN ('$id_subgroup') ORDER BY name";
$enterres = sqlsrv_query($conn, $entersql);

if( $enterres === false)
{
echo "Error in query enterres preparation/execution.\n";
// die( print_r(sqlsrv_errors(), true));
}
$t2='';
while($i = sqlsrv_fetch_array($enterres, SQLSRV_FETCH_ASSOC))
{

if($inputby=='id_price'&&$typeby=='DESC'){$a--;}else{$a++;}

$id_price=($i['id_price']!='')? $i['id_price']:'0';
$name=($i['name']!=''&&$i['name']!='-')? $i['name']:$i['name_original'];
$id_city=($i['id_city']!='')? $i['id_city']:'0';
$id_producer_country=($i['id_producer_country']!='')? $i['id_producer_country']:'0';
$id_firm=($i['id_firm']!='')? $i['id_firm']:'0';

$sql_id_city = "SELECT name FROM City WHERE id_city='$id_city'";
$get_id_city = sqlsrv_query($conn, $sql_id_city);
if( $get_id_city === false)
{
echo "Error in query get_id_firm preparation/execution.\n";
// die( print_r(sqlsrv_errors(), true));
}
$info_id_city = sqlsrv_fetch_array($get_id_city, SQLSRV_FETCH_ASSOC);
$name_city=$info_id_city['name'];

$sql_id_producer_country = "SELECT name FROM Producer_country WHERE id_producer_country='$id_producer_country'";
$get_id_producer_country = sqlsrv_query($conn, $sql_id_producer_country);
if( $get_id_producer_country === false)
{
echo "Error in query get_id_producer_country preparation/execution.\n";
// die( print_r(sqlsrv_errors(), true));
}
$info_producer_country = sqlsrv_fetch_array($get_id_producer_country, SQLSRV_FETCH_ASSOC);
$name_producer_country=$info_producer_country['name'];


$sql_id_firm = "SELECT name,phone FROM Firm WHERE id_firm='$id_firm'";
$get_id_firm = sqlsrv_query($conn, $sql_id_firm);
if( $get_id_firm === false)
{
echo "Error in query get_id_firm preparation/execution.\n";
// die( print_r(sqlsrv_errors(), true));
}
$info_film = sqlsrv_fetch_array($get_id_firm, SQLSRV_FETCH_ASSOC);
$name_firm=$info_film['name'];
$phone_firm=$info_film['phone'];



$sql_id_cost = "SELECT cost,id_currency,id_sale FROM Cost WHERE id_price='$id_price'";
$get_id_cost = sqlsrv_query($conn, $sql_id_cost);
if($get_id_cost === false)
{
echo "Error in query get_id_firm preparation/execution.\n";
// die( print_r(sqlsrv_errors(), true));
}
$info_cost = sqlsrv_fetch_array($get_id_cost, SQLSRV_FETCH_ASSOC);
$cost=$info_cost['cost'];
$id_currency=$info_cost['id_currency'];
$id_sale=$info_cost['id_sale'];
if($id_sale=='1'){$opt=$cost;$rozn='';}
elseif($id_sale=='2'){$opt='';$rozn=$cost;}
else{$opt='';$rozn='';}

$t2.='
<tr>
<td>'
.$a.'</td>
<td><a href="#" id="'
.$id_price.'" class="buy add_td"><img src="./images/shopping_cart.png" width="35"></a><a href="Product.php?id_price='.$id_price.'" class="add_td">'.$name.'</a></td>
<td>'
.$name_producer_country.'</td>
<td>'
.$opt.'</td>
<td>'
.$rozn.'</td>
<td>'
.$name_city.'</td>
<td><a href="Firm.php?id_firm='
.$id_firm.'" class="add_td">'.$name_firm.'</td>
<td>'
.$phone_firm.'</td>
</tr>'
;


/*sqlsrv_free_stmt($enterres);
sqlsrv_free_stmt($get_id_city);
sqlsrv_free_stmt($get_id_producer_country);
sqlsrv_free_stmt($get_id_firm);
sqlsrv_free_stmt($get_id_cost);
sqlsrv_free_stmt($get_group);
sqlsrv_free_stmt($get_subgroup);
sqlsrv_free_stmt($mainres); */

}




Наименования фирм находятся в таблице Firm.
Мне нужно добавить сортировку по имени фирмы в запрос $entersql.

Подскажите возможно ли это и как это сделать?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев, 8 дней
Карма: 184




order by name, в запросе уже есть
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 28 дней
Карма: 0




Это ордер по полю наименования таблицы Price

SELECT TOP $num * FROM Price


а мне нужно сделать ордер по имени фирмы из таблицы Firm(связь с Price по id_firm)
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 28 дней
Карма: 0




Сделал так

Код:

$sql="SELECT TOP $num 
p.id_price as p_id_price,
p.name as p_name,
p.name_original as p_name_original,
p.id_producer_country as p_id_producer_country,
p.id_firm as p_id_firm,
f.name as f_name,
f.phone as f_phone,
city.name as city_name,
pc.name as pc_name,
* FROM Price p
left join Firm f on f.id_firm = p.id_firm
left join City city on city.id_city = p.id_city
left join Producer_country pc on pc.id_producer_country = p.id_producer_country
WHERE
$add p.id_city='$id_city' AND p.id_group='$id_group' AND p.id_subgroup IN ('$id_subgroup') $order_by";
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса