Как получить информацию из флажка? - PullRequest
3 голосов
/ 22 марта 2009

Моя проблема немного усложняется. (Я использую PHP)

У меня есть два массива, (массив простых массивов [0] = строка, массив [1] = строка ...) Хорошо, теперь я покажу содержимое двух массивов на веб-странице. Первый массив содержит имена, а второй URL изображений.

Изображения и имена уже отображаются (моей проблемы здесь нет).

Но теперь я хочу сделать что-то еще, добавить флажок рядом с каждым изображением, эти флажки по умолчанию активны. Хорошо, теперь пользователь может снять некоторые входящие сообщения;

Конечная цель - получить новый массив, содержащий только те значения имен и изображений, которые были проверены.

Я подумал о чем-то простом, сканировать ключи (количество) непроверенных флажков и снимать их с моего массива. Но проблема в том, что я не знал, как бороться с флажками

Ответы [ 3 ]

5 голосов
/ 22 марта 2009

Чтобы получить входные данные в виде массивов в PHP, вы должны установить их имя в скобках в HTML:

<label><input type="checkbox" name="thename[]" value="" /> The text</label>

Затем, когда вы получите доступ к $ _REQUEST ['thename'], вы получите массив. Проверьте его, чтобы увидеть его формат и поиграйте с ним:)

2 голосов
/ 22 марта 2009

Прежде всего, я рекомендую иметь только один массив:

$array = array (0 => array('name' => '....', 'url' => '....'))

Я думаю, это сделает вашу жизнь намного проще. Также в HTML вы также можете отправить ключ массива

foreach ($yourArray as $key=>$value) {
    ...
    <INPUT type="checkbox" name="chkArr[<?php echo $key ?>]" value="1" checked/>          

затем в действии формы вы создаете начальный массив и удаляете неотмеченные.

foreach ($yourArray as $key=>$value) {   
    if (!isset($_POST['chkArr'][$key]) OR $_POST['chkArr'][$key]!='1') {
        unset($yourArray[$key]);  
    }
}
0 голосов
/ 22 марта 2009
<INPUT type="checkbox" name="chkArr[]" value="$num" checked/>

После отправки формы у вас будет массив $ _REQUEST ['chkArr'], в котором у вас будут номера флажков, которые все еще отмечены.

Чтобы увидеть, какие из них не были проверены, используйте array_diff($listOfAllNums, $chkArr)

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