[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с таблицами
Trenik
Здравствуйте!
Ребята нужен совет(помощь) по решению вопросика.

Есть выборка по определенным критериям.

Результат выборки - 0 %, 25 %, 50%, 100%.
Юзер выбирает с выпадающих списков 4 критерия и вычисляется результат выборки в процентах.

Как сделать правильно сортировку от 100% до 0%..так как результат выборки формируется в процессе вывода.

Читал про Временные таблицы..может есть другой путь..более правильный.. huh.gif
Renden
Trenik
Эм...какие таблицы mysql? - тогда order by desc тебе в помощь.
Trenik
Renden
1) Таблицы Mysql
2) "Как сделать правильно сортировку от 100% до 0%..так как результат выборки формируется в процессе вывода." Тоесть поля такого нету в БД и его значение формируется при выводе списка.
inpost
Откуда проценты тогда берутся?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Trenik
Цитата (inpost @ 4.03.2011 - 14:31)
Откуда проценты тогда берутся?

Обьясню на примере.
Есть допустим таблица jos_cars Машины smile.gif
Поля:
id
color
size
price
country

Есть 4 поля SELECT с 4-мя разными критериями.
Допустим критерии: Цвет, Цена, Страна изготовитель, Размер.
Выбираю критерии.
Вывожу все записи БД Машин и если 4 критериям соответствует то Процент будет 100%, если 3-м критериям - 75% и тп.

Интересует как сделать вывод (отсортированый по этим процентам ).
*beer*
inpost
Trenik
Сделать 4 отдельных выборки. Где все равно, где 3 из 4х... где 1 из 4-х. Как вариант, может эксперты посоветуют что получше.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Snus
Trenik
Не самый быстрый способ :)
	function cmp($a,$b){
return strcmp($a['proc'], $b['proc']);
}

$sColor = !empty($_POST['color']) ? $_POST['color'] : '';
$sSize = !empty($_POST['size']) ? $_POST['size'] : '';
$sCountry = !empty($_POST['country']) ? $_POST['country'] : '';
$sPrice = !empty($_POST['price']) ? $_POST['price'] : '';

$query = "
SELECT `id`, `color`, `size`, `price`, `country`
FROM `jos_cars`"
;
$sql = mysql_query($query) or die(mysql_error());
while ( list($id,$color,$size,$price) = mysql_fetch_row($sql) ){
$proc = 0;
if(strpos($color, $sColor)) $proc += 25;
if(strpos($size, $sSize)) $proc += 25;
if(strpos($country, $sCountry)) $proc += 25;
if(strpos($price, $sPrice)) $proc += 25;
if(!empty($proc)) $arr[] = compact('id','color','size','price','country','proc');
}

usort($arr, 'cmp');

echo '<pre>';
print_r($arr);
echo '</pre>';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.