[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Select-ы
RCuPeR
Всем привет.
Такая проблема:
В системе регистрации пользователя есть отдельный пункт, "языки", допустим.
Он вызывается модальным окном, но не суть. В это пункте есть выбор "владения языков":

<label>Датский</label>
<select
name="dan">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />
<label>
Шведский</label>
<select
name="swe">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />
<label>
Финский</label>
<select
name="fin">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />

И так очень много раз.
Задача:
Нужно в базу записать id пользователя который регистрируется, язык, которым он владеет и уровень познания этого языка.

Не знаю как записать "имя" языка и его уровень.



Спустя 2 часа, 14 минут, 47 секунд (11.02.2011 - 14:02) RCuPeR написал(а):
Что, ни у кого никаких идей ?!

Спустя 4 минуты, 34 секунды (11.02.2011 - 14:07) linker написал(а):
Ну как, ты же определили уже имена языкам: fin, dat, swe. В чем проблема? А уровень лучше определять целочисленным значением. Таблица
`userid` int(..)
`language` varchar(3)
`level` smallint(...)

Спустя 20 минут, 33 секунды (11.02.2011 - 14:27) RCuPeR написал(а):
Да не, таблица уже есть.

CREATE TABLE `lang` (
`id` int(11) NOT NULL,
`lang` varchar(10) NOT NULL,
`level` varchar(10) NOT NULL,
`id_user` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;


Не могу придумать как засунуть туда данные.
Вот смотри:

echo $_POST['fin']; // вернёт тот уровень, который я выбрал для этого языка.


Но как мне вытащить сам язык (['fin'])?!

Возможно это довольно глупый и банальный вопрос-задача, но всё же он имеет место быть.

Спустя 11 минут, 12 секунд (11.02.2011 - 14:38) linker написал(а):
CREATE TABLE `langdefine` (
`lang` varchar(10) NOT NULL,
`name` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
туда вставляешь все свои языки.

Спустя 20 минут, 34 секунды (11.02.2011 - 14:59) RCuPeR написал(а):
Как ?!
Как мне из $_POST['fin'] вытащить "fin" ?

Спустя 46 минут, 44 секунды (11.02.2011 - 15:46) inpost написал(а):
foreach($_POST as $k => $v)

Спустя 54 минуты, 15 секунд (11.02.2011 - 16:40) RCuPeR написал(а):
sharki посоветовал сделать так:
<label>Английский</label>
<select
name="lang[1]">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />
<label>
Русский</label>
<select
name="lang[2]">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />
<label>
Украинский</label>
<select
name="lang[3]">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />
<label>
Китайский</label>
<select
name="lang[4]">
<option
value="" selected="selected">Не владею</option>
<option
value="lev1">Носитель языка</option>
<option
value="lev2">Средний</option>
<option
value="lev3">Средний продвинутый</option>
<option
value="lev4">Высший</option>
</select><br /><br />



<?php
foreach($_POST['lang'] as $key => $value)
if($value != NULL) {
switch ($key){
case "1": echo "eng".'=>'.$value.'<br />';
break;
case "2": echo "ru".'=>'.$value.'<br />';
break;
case "3": echo "ua".'=>'.$value.'<br />';
break;
case "4": echo "chi".'=>'.$value.'<br />';
break;
}
}
else { continue; }

?>


И всё работает.

Спасибо ему и спасибо вам, что отозвались.


_____________
Гнусный социопат с комплексом Бога.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.