Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Проблема сравнивания дробных чисел (PHP+MySQL) (http://www.flasher.ru/forum/showthread.php?t=76462)

dogo 06.03.2006 14:50

Проблема сравнивания дробных чисел (PHP+MySQL)
 
Таблица: «colors»
(id_color TINYINT(2) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
color_value FLOAT(2,1) UNSIGNED NOT NULL);

color_value содержит значения:
16.7
12.3
17.0

Данные в таблицу вводятся пользователем из HTML формы.
После ввода значение сравнивается с имеющимися в таблице.
При сравнении чисел с «нулевой» дробной частью всё происходит удачно, но стоит ввести число со значимой дробной частью, как сравнивание перестает работать…

Пользователь несколько раз подряд вводит 12.3 после чего колонка «color_value» принимает вид:
16.7
12.3
17.0
12.3
12.3

12.3


Ниже приведен код обрабатывающий пользовательский ввод.

//$formValue – значение, введенное пользователем, полученное из формы

@ $db = new mysqli('myHost', 'myUser', 'myPassword', 'myDatabase');
$formValue=sprintf ("%01.1f", $formValue);
$query_select = "select * from $tableName where $itemInRow=$formValue";
$query_insert = "insert into $tableName values ('','$formValue')";

$result = $db->query($query_select);
$num_results = $result->num_rows;
if($num_results>0){
echo “такая запись уже существует!<br>”;
}
else
{
$result = $db->query($query_insert);
$num_results = $db->affected_rows;
$msg.= "запись успешно внесена!<br>";
}
$result->free;
$db->close();

Skubent 06.03.2006 15:32

А вопрос-то в чем ?

dogo 06.03.2006 15:38

я думал будет ясно из кода...
Вообщем я хотел что-бы значение введеное пользователем сравниволось со значениями в столбце и если в столбце еще нет значения которое ввел пользователь, то добавить его, в противном случае этого не делать. Программа добавляет в любом случае, за исключением целых чисел(их она может сравнить)

Skubent 06.03.2006 16:49

Я бы рекомендовал почитать тут:
http://dev.mysql.com/doc/refman/5.0/...ith-float.html
Ну и в принциеп ознакомиться с FLOAT данными в mysql.


Часовой пояс GMT +4, время: 21:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.