![]() |
Проблема сравнивания дробных чисел (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(); |
А вопрос-то в чем ?
|
я думал будет ясно из кода...
Вообщем я хотел что-бы значение введеное пользователем сравниволось со значениями в столбце и если в столбце еще нет значения которое ввел пользователь, то добавить его, в противном случае этого не делать. Программа добавляет в любом случае, за исключением целых чисел(их она может сравнить) |
Я бы рекомендовал почитать тут:
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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.