Изменение чисел при передаче в БД
Здравствуйте.
Возникла небольшая проблема: Есть форма, в которой input типа hidden, у него в value содержится трехзначное число. При отправке формы, если первый/два первых символа был(и) ноль, то они обрезаются. Как это можно исправить?(нужно чтобы в базу приходило именно 001(например)). Тип данных в БД varchar |
Хотелось бы увидеть код. По идее если вы в коде не приводите значение к int, то в бд должно писаться как есть, то есть 001 как строка.
|
Цитата:
|
squall88,
<form name=\"post\" method=\"post\"> <input type=\"hidden\" name=\"id\" id=\"id".$i."\"> <input type=\"hidden\" name=\"last\" id=\"h".$i."\"> <input type=\"submit\" name=\"sbt\" value=\"Отправить\"> </form> function update() { if(isset($_POST['sbt'])) { $query = "UPDATE table SET last_read = {$_POST["last"]} WHERE id = {$_POST["id"]}"; mysql_query($query); } } danik.js, должно быть может и не так, а у меня так) |
Да ничего не так. При отправке формы никакие нули не обрезаются.
Они у вас обрезаются либо еще при генерации страницы, так что в форме уже без ведущих нулей, либо в скрипте-обработчике формы, принимающем post-запрос. |
danik.js,
в форме ещё с нулями, проверял alert'ами |
Что выдает var_dump($_POST) ?
|
danik.js,
array(3) { ["id"]=> string(1) "1" ["last"]=> string(3) "082" ["sbt"]=> string(18) "Отправить" } |
У вас строка приводится к int. Попробуйте так
$query = "UPDATE table SET last_read = '{$_POST["last"]}' WHERE id = {$_POST["id"]}"; |
squall88,
Спасибо, помогло) |
Часовой пояс GMT +3, время: 06:15. |