Помогите обработать массив

Тема в разделе "Как сделать...", создана пользователем xss, 9 июн 2012.

  1. xss

    xss Создатель

    Регистр.:
    27 мар 2006
    Сообщения:
    15
    Симпатии:
    1
    Есть в форме ниспадающее меню, выбор языка и знание этого языка.
    HTML:
    <select name="language_id[]">
    <option selected="" value="0">Не имеет значения</option>
    <option value="1">Английский</option>
    <option value="4">Испанский</option>
    <option value="18">Китайский</option>
    ....
    <option value="22">Немецкий</option>
    <option value="61">Русский</option>
    <option value="83">Французский</option>
    </select>
    <select name="lang_level[]">
    <option selected="" value="0">Не имеет значения</option>
    <option value="1">Базовый</option>
    <option value="2">Технический</option>
    <option value="3">Разговорный</option>
    <option value="4">Свободный</option>
    </select>
    Причём с помощью jquery, можно клонировать оба меню, для выбора другого языка.
    Нужно обработать массив и записать в базу Mysqlв цикле.
    PHP:
    $DB->query("INSERT INTO {language} VALUES (%d, %d, %d)"$id$language_id$lang_level);
    Помогите с решением, а то уже крыша едит.
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    массив какой? который придет на обработку от формы? так он в в POST массиве прийдет...в виде array('language_id'=>array(1=>18, 2=>3), 'lang_level'=>array(1=>2, 2=>1) ) его можно через foreach обработать...
    PHP:
    foreach($_POST['language_id'] as $lid=>$lval){
    $id=$lid;
    $language_id=$lval;
    $lang_level=$_POST['lang_level']['".$lid."'];
    $DB->query("INSERT INTO {language} VALUES (%d, %d, %d)"$id$language_id$lang_level);
    }
    ну дето приблизительно так...
     
  3. xss

    xss Создатель

    Регистр.:
    27 мар 2006
    Сообщения:
    15
    Симпатии:
    1
    Спасибо, помогло.
    Только не так: $lang_level = $_POST['lang_level']['".$lid."'];,
    а так $lang_level = $_POST['lang_level'][$lid];