Есть скрипт, который из БД по названиям выводит стоимость. Выбирать названия можно при помощи чекбоксов.
Пример:
<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);
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
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, какое значение?