Всем привет! Делаю форму для сортировки и проблема с выводом минимальной и максимальной цены. Вся проблема в том, что вывод цен в тысячном эквиваленте все хорошо работает, а вот в сотом эквиваленте работает не верно. Привожу запросы и результаты запросов, и вывод результатов: Код (Text): SELECT `PRICE` FROM `goods` WHERE `section`='Кабель в гофре' ORDER BY `price` ASC SELECT `PRICE` FROM `goods` WHERE `section`='Кабель в гофре' ORDER BY `price` DESC Как видите тут все хорошо работает. Теперь переходим во второй раздел смотрим: Код (Text): SELECT `PRICE` FROM `goods` WHERE `section`='Шаблоны для сверления' ORDER BY `price` ASC SELECT `PRICE` FROM `goods` WHERE `section`='Шаблоны для сверления' ORDER BY `price` DESC Понять не могу, почему они местами поменялись цифры? В PHPMyAdmin все работает изумительно, а вот вывод на форме не корректно. Вот код самой формы для сортировки: PHP: <?php $msection_db = mysql_query("select * from `section` where `mtitle`='".$msection."'",$db); if (!$msection_db) { echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>"; exit(mysql_error()); } if (mysql_num_rows($msection_db) > 0){ $msection_db_row = mysql_fetch_array($msection_db);} $min_price_db = mysql_query("SELECT `price` FROM `goods` WHERE `section`='".strip_tags($msection_db_row['title'])."' ORDER BY `price` ASC ",$db); if (!$min_price_db) { echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>"; exit(mysql_error()); } if (mysql_num_rows($min_price_db) > 0){ $min_price_db_row = mysql_fetch_array($min_price_db); } $max_price_db = mysql_query("select `price` from `goods` where `section`='".strip_tags($msection_db_row['title'])."' order by `price` desc",$db); if (!$max_price_db) { echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>"; exit(mysql_error()); } if (mysql_num_rows($max_price_db) > 0){ $max_price_db_row = mysql_fetch_array($max_price_db);} ?> <div class='sort'> <?php if (!isset($msection)) {} else { $type_sort_db = mysql_query("select * from `type-sort`",$db); if (!$type_sort_db) { echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>"; exit(mysql_error()); } if (mysql_num_rows($type_sort_db) > 0){ $type_sort_db_row = mysql_fetch_array($type_sort_db); echo "<form action='../../section/?msection=".$msection."' method='get'><input type='hidden' name='msection' value='".$msection."'>"; do { $sort_db = mysql_query("select * from `sort` where `msection`='".$msection."' and `type`='".$type_sort_db_row['title']."'",$db); if (!$sort_db) { echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>"; exit(mysql_error()); } if (mysql_num_rows($sort_db) > 0){ $sort_db_row = mysql_fetch_array($sort_db); echo " <div class='sort_title'><strong>".$type_sort_db_row['title']."</strong></div> <div class='sort_radio'> <ul> "; do { echo "<li><input type='radio' name='".$type_sort_db_row['variable']."' value='".$sort_db_row['title']."'>".$sort_db_row['title']."</li>"; } while ($sort_db_row = mysql_fetch_array($sort_db)); echo " </ul></div> "; } } while ($type_sort_db_row = mysql_fetch_array($type_sort_db)); echo " <div class='sort_title'><strong>Рознечная цена</strong></div> <div align='center'>От <input type='text' name='price_one' style='width:39.5%;' value='".$min_price_db_row['price']."'> до <input type='text' name='price_two' style='width:39.5%;' value='".$max_price_db_row['price']."'></div> <div align='center'><input type='submit' value='Показать' style='margin:0.5vw; border:0; background:#E82C31; color:#FFFFFF; padding:10px 20px;'></div></form> "; } else {} } ?> </div> Подскажите в чем может быть проблема? Заранее благодарю за помощь!
Из Ваших примеров SQL-запросов и их аутпута я предполагаю, что у Вас большинство полей таблиц БД объявлены как строки. В этом случае mySQL тоже сортирует их как строки, а не как числа, и тогда набор строк "1" "2" "10" будет отсортирован так: "1", "10", "2", а набор строк "176" "1750" будет отсортирован так: "1750" "176".