[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сравнить несколько чисел
mixey2010
Как можно провести сравнение нескольких чисел и из этих чисел вывести число с максимальным значением.
Есть скрипт, который из БД по названиям выводит стоимость. Выбирать названия можно при помощи чекбоксов.
Пример:
<input type='checkbox' name='pol[]' value='$myrow[nazvanie]'> $myrow[nazvanie] , $myrow[cena]

Из БД выводится к примеру следующие данные:
матрешка - 25000 руб.
колобок - 15000 руб.
заяц - 10000 руб.
волк - 40000 руб.

К примеру устанавливаются чекбоксы напротив матрешки (25000 руб) и колобка (15000 руб) и необходимо чтобы при нажатии на кнопку выводилось максимальное число 25000 руб.
Например если установлены чекбоксы напротив всех т.е. матрешка, колобок, заяц, волк - выводилось 40000 руб.

Как можно это реализовать?



Спустя 12 минут, 24 секунды (3.08.2010 - 12:53) Ice написал(а):
SELECT MAX(price) 
FROM goods
WHERE price IN(10000,15000,40000)

Спустя 3 часа, 17 минут, 19 секунд (3.08.2010 - 16:10) mixey2010 написал(а):
Написал запрос как указано, но появляется ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''polis' WHERE premiyaind IN(10000)' at line 1

Код скрипта:
include("bd.php");
foreach ($_POST['price'] as $value1)
$result = mysql_query("SELECT MAX (premiyaind) FROM '$table1' WHERE premiyaind IN($value1)",$db);
echo mysql_error();
$myrow = mysql_fetch_array($result);

Спустя 2 минуты, 55 секунд (3.08.2010 - 16:13) Ice написал(а):
polis - это таблица? около имени таблицы надо убрать кавычки

Спустя 4 минуты, 5 секунд (3.08.2010 - 16:17) mixey2010 написал(а):
polis - это таблица. Кавычки убра, но теперь появляется следующее сообщение:
FUNCTION 54269.MAX does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual

Спустя 28 минут, 3 секунды (3.08.2010 - 16:46) Ice написал(а):
Это уже проблемы с мускулом какие-то

Спустя 4 часа, 19 минут, 33 секунды (3.08.2010 - 21:05) linker написал(а):
include("bd.php");
foreach ($_POST['price'] as $value1)
$result = mysql_query("SELECT MAX (premiyaind) FROM '$table1' WHERE premiyaind IN($value1)",$db);
echo mysql_error();
$myrow = mysql_fetch_array($result);
Ерунда какая-то. Во-первых
foreach ($_POST['price'] as $value1)
если $_POST['price'] массив оно понятно, а если нет? Во-вторых, в цикле будет выполняться только строчка
$result = mysql_query(...);
В-третьих, задайтесь вопросом, какой смысл в запросе
SELECT MAX(field) FROM table where field IN (1)
Видимо имеется ввиду, ну хотя бы как минимум (я уж молчу про всякие проверки пост-данных)
mysql_query("SELECT MAX(premiyaind) FROM " . $table1 . " WHERE premiyaind IN (" . join(',', $_POST['price']) . ")");
В-четвертых, что есть $table1, какое значение?
Быстрый ответ:

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