PHP foreach несколько значений - PullRequest
2 голосов
/ 21 марта 2012

Я унаследовал сайт, который содержит форму для вставки значений в базу данных Mysql.Это отлично работает, но меня попросили добавить поле, и я не могу решить это.

Это код:

<table id="target-language">
<tr>
<?php
$rowCount=-1;
foreach( $languages as $key=>$value ){
    if( isset( $_SESSION['formvalues']['addEntry']['target'] ) ){
        if( in_array( $value, $_SESSION['formvalues']['addEntry']['target'] ) )
            $selected = " checked=\"checked\"";
        else    
            $selected = "";
    }
    $sqlDepartments = "SELECT depName FROM tbldepartements WHERE langId = '".trim($value)."'";
    $departments = mysql_query( $sqlDepartments ) or die( mysql_error() );

    if( $rowCount == 0 ){
        echo "</tr>\n<tr>";
        $rowCount = 0;
    }else
        $rowCount++;
?>
<td align="right">
<?php echo $value; ?><input type="checkbox" name="target[]" value=<?php echo "\"".$value."\"" . $selected; ?> />

<select name="department_<?php echo $value ?>">
<?php while( $department = mysql_fetch_object( $departments ) ): ?>
<?php
        $curDepartment = $_SESSION['formvalues']['addEntry']['departments'][$value];
            if(  $curDepartment == utf8_encode($department->depName) )
                $optionSelected = ' selected="selected"';
            else
                $optionSelected = ''; 
?>                                                                                         
    <option value="<?php echo utf8_encode($department->depName); ?>"<?php echo $optionSelected; ?>><?php echo utf8_encode($department->depName); ?></option>
<?php endwhile; ?>
        <option value=""></option>
</select>
<?php
}
?>

Показывает список языков (DE, UK, ...) с флажком и раскрывающееся меню с отделами в другом столбце.Пользователи могут выбрать язык и комбинацию отдела, и это будет занесено в базу данных.(с помощью $ _SESSION).Как:

     langauge |checkbox |dropdown list

Теперь я хотел бы добавить к этому третий столбец.Таким образом, пользователи смогут выбрать язык (установите флажок), а затем выберите отдел и введите номер работы.Как и

    langauge |checkbox |dropdown list |entry field

Однако все, что я положил после блока

    <select name="department_<?php echo $value ?>">

, не было обнаружено, и я не могу сохранить его в значении сеанса.

Возможно ли, чтобы цикл foreach содержал несколько значений?Таким образом, проверка языка приведет к тому, что два значения будут сохранены в сеансе для вставки в БД?Если да, что мне нужно добавить, чтобы приобрести это?

У меня есть знания PHP, но это немного для меня:)

С уважением, и если вам нужна дополнительная информация, дайте мне знать, и я предоставлю всю необходимую информацию.

Ответы [ 2 ]

0 голосов
/ 22 марта 2012

Тем временем мне удалось решить проблему, создав второй массив, состоящий из поля ввода и языка, и вставив их в сессию для вставки в БД.

Спасибо всем за внимание и за использование оператора и (&) в цикле. Я не использовал это, но это было интересное чтение, и я, по крайней мере, узнал кое-что:)

0 голосов
/ 21 марта 2012

Да, вы можете использовать оператор и (&) в цикле PHP foreach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...