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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2015, 14:52   #1
arta42
 
Регистрация: 19.07.2015
Сообщений: 5
По умолчанию как после выбранного цвета провести сортировку выбранных цветов?

Подскажите пожалуйста что изменить в этом коде для того чтобы при выборе цвета проводилась сортировка по выбранному цвету?
PHP код:
<?
// Подключение к MySQL
$con mysql_connect(".......","........","........");
if (!
$con)
    die(
'Could not connect: ' mysql_error());
mysql_select_db(".............."$con);
$sql mysql_query("SET CHARACTER SET cp1251_koi8");
 
// Значения, полученные из формы
$sort = isset($_GET['sort']) ? $_GET['sort'] : 'desc';
$key = isset($_GET['key']) ? $_GET['key'] : 'Fam';
 
// Разрешённые значения
$key_array = array('Fam''Name''Otch''age''cvet');
$sort_array = array('asc','desc');
 
// Если указаны неправильные данные - выход
if(!in_array($key$key_array) or !in_array($sort$sort_array))
    exit(
'Неверный формат запроса!');
if(isset(
$_GET['age']) and (empty($_GET['v1']) or empty($_GET['v2'])))
    exit(
'Пустой запрос!');
    
// Часть SQL-запроса - фильтр
$orderby " ORDER BY $key $sort";
 
// Если кол-во лет заполнено - вводим его в mysql-запрос и добавляем в фильтры таблицы
if(!empty($_GET['v1']) and !empty($_GET['v2']))
{
    
$where 'WHERE `age` BETWEEN ' $_GET['v1'] . ' AND ' $_GET['v2'];
    
$values '&v1=' $_GET['v1'] . '&v2=' $_GET['v2'];
}
elseif(!empty(
$_GET['cvet']))
{
    
$where 'WHERE `cvet` = "' $_GET['cvet'] . '"';
    
$values null;
}
else
{
    
$where null;
    
$values null;
}
 
// Запрос к БД
$query "SELECT * FROM `users` $where $orderby";
$result mysql_query($query) or die(mysql_error());
 
// Меняем сортировку для правильного вывода в таблице
$sort $sort == 'asc' 'desc' 'asc';
?>
<h1>Цвета</h1>
<h4   align= "left">
<?
$colors 
mysql_query("SELECT DISTINCT `cvet` FROM `users`") or die(mysql_error());
while(
$row mysql_fetch_assoc($colors)): ?>
<br><a href="?cvet=<?=$row['cvet']?>"><?=$row['cvet']?></a>
<? endwhile; ?> 
</h4>
<h4 align= "center">
<form>
    От<input type="text" name="v1">
    До<input type="text" name="v2">
    <br /><br />
    <input type="submit" name="age" value ="Подобрать">
</form>
<table border = "1">
    <tr>
        <th width='50'><a href="?key=Fam&sort=<?=$sort $values?>">Fam</a></th>
        <th width='50'><a href="?key=Name&sort=<?=$sort $values?>">Name</a></th>
        <th width='50'><a href="?key=Otch&sort=<?=$sort $values?>">Otch</a></th>
        <th width='50'><a href="?key=age&sort=<?=$sort $values?>">age</a></th>
        <th width='50'><a href="?key=cvet&sort=<?=$sort $values?>">cvet</a></th>
    </tr>
<? while($row mysql_fetch_assoc($result)): ?>
    <tr>
        <td><?=$row['Fam']?></td>
        <td><?=$row['Name']?></td>
        <td><?=$row['Otch']?></td>
        <td><?=$row['age']?></td>
        <td><?=substr($row['cvet'],0,30)?></td>
    </tr>
<? endwhile; ?>
</table>
arta42 вне форума Ответить с цитированием
Старый 20.08.2015, 15:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
сортировка по выбранному цвету?
А что значит "по выбранному"? Сортировку можно произвести по массиву, а как понимать "по выбранному"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста как провести сортировку данных после выборки? arta42 SQL, базы данных 6 11.08.2015 16:51
Есть n цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов. Количество цветов и их названия вводит lesha18 Паскаль, Turbo Pascal, PascalABC.NET 1 26.02.2013 16:54
Как определить количество цветов в подгружаемом рисунке и наиболее частые цвета Dezzit C# (си шарп) 1 04.05.2012 20:12
удалить все кроме выбранного цвета Cayman Microsoft Office Excel 15 26.03.2012 07:00
ColorDialog | получить шестандцатеричный код выбранного цвета T-dayne Помощь студентам 9 14.03.2010 19:10