MySQL — PHP получить число из текстового ввода и сравнить с десятичной из БД

Я бегу PHP, который регулярно запрашивает из базы данных MySQL.

В моей БД у меня есть десятичное поле (5,4) с ассортиментом значений, некоторые из которых являются действительными целыми числами, а некоторые — десятичными числами.

Я хотел бы взять <input type="text"> тег из формы, $_GET число, введенное пользователем, затем сравните его со значением в БД.

Какой из этих трех способов лучше всего подходит для этого:

  1. Преобразовать $_GET['user_value] переменная, чтобы плавать, затем сравните со значением БД.
  2. Преобразовать $_GET['user_value] переменная в целое число, затем сравните со значением БД.
  3. Конвертировать оба $_GET['user_value] к строкам, а затем сравнить два.

КСТАТИ: Мне нужна вся информация после запятой.

МОЙ КОД — $ user_answer — ввод пользователя, $ correct_answer — значение БД

<?php
switch ($grid_type)
{
//If Single: Just Match Two Correct Answers
case "single":

if($user_answer === $correct_answer)
{
$is_correct = 1;
}
else
{
$is_correct = 0;
}

break;

//If Multiple: Check to see if user_answer Matches any of correct_answers
case "multiple":

if($user_answer === $correct_answer OR $correct_answer_2 OR $correct_answer_3 OR $correct_answer_4 OR $correct_answer_5)
{
$is_correct = 1;
}
else
{
$is_correct = 0;
}

break;

//If range: Check if user_answer is between the two range values
case "range":

if($user_answer > $correct_range_bottom AND $user_answer < $correct_range_top)
{
$is_correct = 1;
}
else
{
$is_correct = 0;
}

break;

default:
"An Error Has Occured - All Of Your Base Are Belong To Us.";
}
?>

-1

Решение

@ Tom Ни одно из перечисленных вами решений не подходит.
Что вы хотите сделать, это:

получить любое значение, введенное пользователем (используя запрос POST / GET — предпочтительнее сообщение)

$user_value = $_POST['user_value'];
if(is_numeric(str_replace('.','',$user_value))){
$user_value = sprintf('%0.4f',$user_value);
echo $user_value;
}else{
echo 'Wrong number entered';
}

тогда вы сравниваете со значением из БД.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]