Войти

Показать полную графическую версию : формы html


dima1981
16-08-2008, 13:21
Есть форма пример

<select name="bb">
<option value="0">один
<option value="1">два
</select>

передаю значения в таблицу базы

$bb = $_POST["bb"];
$sql = "INSERT INTO $dtable (bb) VALUES ('$bb');

передается только 0 или 1 т.е. значение в зависимости от выбора, как сделать так чтобы в таблицу поступали значения один или два

вариант

<select name="bb">
<option value="один">один
<option value="два">два
</select>

но мне кажется эт не совсем правильно, да и форма большая переделывать не охото если даже и надо, но переделаю если надо )
подскажите пожалуйста какие есть решения?

XCodeR
16-08-2008, 14:16
dima1981, замену в массиве $_POST просто сделайте:

$_POST=str_replace("1","один",$_POST);

dima1981
16-08-2008, 16:16
у меня в коде нет такого масива в коде и, что так для каждого value делать придется?
честно не совсем понял XCodeR, что значит
замену в массиве $_POST просто сделайте: »
$_POST=str_replace("1","один",$_POST); »

XCodeR
16-08-2008, 17:13
Данные, которые получает скрипт из формы, хранятся либо в массиве $_GET, либо в массиве $_POST. Вот я и предлагаю сделать замену в значениях массива 1->один, 2->два.

у меня в коде нет такого масива в коде »
а это что :

$bb = $_POST["bb"];
$sql = "INSERT INTO $dtable (bb) VALUES ('$bb'); »

dima1981
16-08-2008, 18:01
понял, только это получается надо писать $_POST=str_replace("1","один","2","два","3","три"( и так далее для каждой строки, если их например сто или двести?) ,$_POST);

на самом деле мне кажится, что я просто не понимаю чего то из сказанного тобою потому что дуб дубом в этом

XCodeR
16-08-2008, 18:27
$_POST=str_replace("1","один",$_POST);
$_POST=str_replace("2","два",$_POST);
и т.д.
Этого, имхо, должно быть достаточно.

dima1981
16-08-2008, 19:26
понял тогда чем этогоне достаточно
<select name="bb">
<option value="один">один
<option value="два">два
</select>
или value в русских буквах не пишуться?

вообщем бы хотелось, чтоб при внесении данных из этой формы в таблицу индекс или как это называется точнее не знаю, но чтоб он не вносился в базу, но вносились те слова, которые идут за >, такое можно сделать, как то?

XCodeR
16-08-2008, 21:29
такое можно сделать, как то? »
так нельзя.

Можешь, конечно, сделать на уровне таблицы БД. только я не в курсе, поддерживает ли подобное MySQL.

dima1981
17-08-2008, 01:00
понял спасибо XCodeR,


но тут заходил на один сайт там форма, так и сделана если код html посмотреть <value="0">яблоки
интересно стало, как они результат выбора показывают тому, кто делает запрос при чем результат вполне коректен, выводит всю имеющуюся информацию о яблоках? )

dima1981
17-08-2008, 02:44
пойду все таки посмотрю по сайтам может все таки способ есть )

vadimiron
17-08-2008, 18:41
<value="0">яблоки »
А все остальные элементы тоже с 0-ём???
Что за сайт??

А кстати, если нет value (а значит и когда равен 0) - то берётся значение между <option> и </option> - попробуйте. Это поведение браузера

dima1981
17-08-2008, 20:38
нет там как у меня в примере вначале value увеличевается понаростающей и значения разные везде.

К примеру сайт которых полно там спрашивается, выберете регион, страну и т.д. и когда выбор сделан то выдается информация конкретно по этому выбору, но когда начинаешь код смотреть то там value пронумерованы, слова отдельно
сайт job rabota.ru точное название не помню или superjob.ru

нет value (а значит и когда равен 0) - то берётся значение между <option> и </option> - попробуйте » и как это получиться в примере как тут <select name="ll"><option>1<option>2<option>3</select> ?

dima1981
17-08-2008, 21:00
Вообщем я так и сделал, в базу данные занеслись коректно, только теперь как это повлияет на дальнейшее функционирование формы т.е. на, что повлияет отсутствее vaiue в этой конструкции?

вообщем смысл формы в том, чтоб заносить туда определенные значения и потом делать выборку из базы по этим значениям. При такой задаче, что value не нужны? но это прилично снизит вес страницы это есть то, что оказывается в самую тему у меня т.к. ajax не идет поэтому видать без перезагрузки не получится, при чем сама форма щас весит в районе 200-300 кб.




© OSzone.net 2001-2012