Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2011, 13:51   #1
sem_1989
Пользователь
 
Аватар для sem_1989
 
Регистрация: 25.09.2010
Сообщений: 56
По умолчанию PHP и MySql --> order by

Добрый день, у меня такие трудности - необходимо сделать сортировку выводимой мною таблицы при клике на имя столбца, для этого использую запрос с сортировкой по имени столбца, но проблема в том, что запрос не работает, хотя php не ругаеться, ума не могу приложить -- в чём дело, помогите пожалуйста...
PHP код:
<?php
    $link 
mysql_connect("localhost""root""")
        or die(
"Could not connect: " mysql_error());

    
$db_selected mysql_select_db('estate')
        or  die (
'Can\'t use estate : ' mysql_error());
    
    if ( isset(
$_GET['paramsort']) )
    {
        
$key_sort $_GET['paramsort'];
        
$query  "SELECT type,city,num_rooms_total,square_total,cost
                   FROM real_est
                   ORDER BY '
$key_sort'
                   LIMIT 0,30"

        
$res mysql_query($query) or die('cannot select from real_est '.mysql_error());
    } else {
        
$query  "SELECT type,city,num_rooms_total,square_total,cost 
                   FROM real_est 
                   LIMIT 0,30"
;
        
$res mysql_query($query) or die('cannot select from real_est '.mysql_error());
    }
                                
    
$tab '<table>';
    
$tab .= "<tr><th><a href='?paramsort=type'>ТИП НЕДВИЖИМОСТИ</a></th>";
    
$tab .= "<th><a href='?paramsort=city'>ГОРОД</a></th>";
    
$tab .= "<th>КОЛИЧЕСТВО КОМНАТ</th>";
    
$tab .= "<th><a href='?paramsort=square_total'>ОБЩАЯ ПЛОЩАДЬ</a></th>";
    
$tab .= "<th><a href='?paramsort=cost'>СТОИМОСТЬ, USD</a></th></tr>";

    while ( 
$row mysql_fetch_assoc($res) )
    {
        
$tab .= '<tr><td>'$row['type'] . '</td>';
        
$tab .= '<td>' $row['city'].'</td><td>' $row['num_rooms_total'] . '</td>';
        
$tab .= '<td>' $row['square_total'] . '</td><td>' $row['cost'] . '</td></tr>';
    }
    
$tab .= '</table>';
    echo 
$tab;
    
?>
sem_1989 вне форума Ответить с цитированием
Старый 07.08.2011, 15:09   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Кавычки уберите здесь:
Цитата:
ORDER BY '$key_sort'
Для экранирования названий полей и таблиц используются апострофы(`...`), а не кавычки.

А вообще в таких случаях:
1. выводим echo $query;
2. проверяем корректность синтаксиса и что все нужные данные для на месте
3. выполняем этот выведенный запрос напрямую через phpMyAdmin

PS: ну и SQL-injection в вашем случае 100%-ная...
Andkorol вне форума Ответить с цитированием
Старый 07.08.2011, 15:18   #3
sem_1989
Пользователь
 
Аватар для sem_1989
 
Регистрация: 25.09.2010
Сообщений: 56
По умолчанию

Спасибо за ответ.
2 и 3 пункты я проделывал - все было ОК.
Только забыл о том что имена полей беруться в другие кавычки, спасибо огромное)))!!!!
sem_1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP/MYSQL запрос + ORDER BY Delphinchik PHP 1 23.07.2011 19:57
mysql order by and order by LevonNikox PHP 2 03.06.2011 14:01
что не так с php кдом или с настройками MySQL+PHP Jimmi Помощь студентам 2 27.12.2010 09:03
mysql и php. tatysya Помощь студентам 2 12.11.2010 18:46