Расшифровка формы, добавление дополнительных данных

zavu

Старатель
Регистрация
24 Сен 2010
Сообщения
180
Реакции
14
В общем, такая проблема: при обработке данных формы мне нужно добавить дополнительный параметр в таблицу БД, зависимый от одного из данных. Объясняю: есть список вида:
Код:
      <select name="frukt" id="frukt">
        <option value="select">Выберите фрукт...</option>
        <option value="banan">banan</option>
        <option value="persik">persik</option>

В обработке я, соответственно, получаю:
Код:
if (isset($_POST['frukt'])) {$frukt = $_POST['frukt'];}

И записываю в БД в ячейку frukt название этого фрукта.

А теперь мне дополнительно нужно, чтобы если из фруктов был выбран банан, то в ДРУГУЮ ячейку БД дополнительно записалось название картинки bananimg. Если же был выбран персик - persikimg. И т.п. Названия фрукта и картинки - разные.

Каким образом это можно реализовать? Каким-то дополнительным условием связать, что название фрукта banan=названию картинки bananimg и название картинки привязать к другой ячейке?

зы пока что пилю в сторону elseif ($frukt == ""), но ничего путного сформулировать не получается =/
 
если у вас фрукты имеют вид как в примере banan - т.е. транслитом то проще всего добавить img к имени фрукта, например так
PHP:
$fruktimg = $frukt.'img';
если значения на киррилице, либо по какой-то причине название фрукта очень сильно отличается от имени картинки, то можете использовать массив, примерно так
PHP:
	$arr_frukt = array(
	'банан'=>'bananimg', 
	'персик'=>'persikimg', 
	'что-то еще'=>'blablablaimg'
	);

$fruktimg = $arr_frukt[$frukt];
 
  • Нравится
Реакции: zavu
$frukt=array("banan"=>"bananimg", "apple"=>"appleimg",..... );
$img=$frukt[$_POST['frukt']];
 
  • Нравится
Реакции: zavu
Мнэ-э... в общем, в ячейку img он все вставляет правильно, зато в ячейке frukt теперь не название фрукта, а название "array" О_О


апд - с названием был мой косяк - просто переставила все после внесения основных данных в таблицу, и картинки прописала уже апдейтом таблицы. Но это все равно какой-то не очень красивый способ =/ сначала заносить, потом тут же править...


Может, есть возможность реализовать это еще на уровне формы, а не в обработчике?
Чтобы при выборе фрукта hidden-ом вводилось уже и название картинки?
 
Может, есть возможность реализовать это еще на уровне формы, а не в обработчике?
Чтобы при выборе фрукта hidden-ом вводилось уже и название картинки?
форма - это html-код, т.е. разметка. Любая логика реализуется в обработчике. Если не хочешь, чтобы обрабатывал сервер, делай обработку на стороне клиента, т.е. на яваскрипте.
 
zavu написал(а):
Может, есть возможность реализовать это еще на уровне формы, а не в обработчике?
Чтобы при выборе фрукта hidden-ом вводилось уже и название картинки?
можно если использовать например тег <select> который при этом должен иметь приблизительно такой вид:
PHP:
<select name="frukt">
<option></option>
<option value="banan|||bananimg">Банан</option>
<option value="apple|||appleimg">Яблоко</option>
...
</select>
а файл который обрабатывает форму должен содержать такой код:
PHP:
$frukt_arr = explode("|||", $_POST['frukt']);
$frukt=$frukt_arr['0'];
$frukt_img=$frukt_arr['1'];
 
  • Нравится
Реакции: zavu
Назад
Сверху