MYSQL вставить форму - вставить 1 из 3 возможных вариантов из зависимых полей выбора - PullRequest
0 голосов
/ 04 октября 2011

Я искал ответ на этот вопрос около часа и не могу найти то, что ищу ...

У меня есть 3 зависимых поля выбора в форме INSERT. (Drop_1, drop_2, drop_3) Каждое из их значений (int) представляет одно и то же поле в базе данных, которое называется category.

Я ищу способ выбрать только самое высокое значение из трех в качестве значения, которое вставляется в поле category.

Вот то, что я пытался (очевидно, не работает):

$drop_1 = ($_POST['drop_1']);
$drop_2 = ($_POST['drop_2']);
$drop_3 = ($_POST['drop_3']);
$category = max($drop_1, $drop_2, $drop_3);

Это работает, только если я выбираю опцию из каждого из 3 блоков, но если я выбираю опцию только из 1 или 2 из блоков, форма отправляется в БД с пустыми значениями.

Ответы [ 2 ]

0 голосов
/ 04 октября 2011
$drop_1 = mysql_real_escape_string($_POST['drop_1']);
$drop_2 = mysql_real_escape_string($_POST['drop_2']);
$drop_3 = mysql_real_escape_string($_POST['drop_3']);
$query = "INSERT INTO table1 (category) 
            SELECT GREATEST('$drop_1', '$drop_2', '$drop_3') as new_cat ";
0 голосов
/ 04 октября 2011

Ваш PHP выглядит нормально:

<?php

$_POST['drop_1'] = 100;
$_POST['drop_2'] = null;

$drop_1 = ($_POST['drop_1']);
$drop_2 = ($_POST['drop_2']);
$drop_3 = ($_POST['drop_3']);
$category = max($drop_1, $drop_2, $drop_3);

echo $category;

будет выводить:

100

Итак, проблема с формой.

...