Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка select с выбором нескольких значений одновременно. Как?
 
 автор: Владимир22   (24.05.2007 в 23:01)   письмо автору
 
 

Кто знает, подскажите, как в php-обработчике принимать данные из такой вот формы, где можно выбирать несколько значений одновременно?

<select size="5" name="fly" multiple
 style="width: 100" class="form">
<option value="1">файл1</option>
<option value="2">файл2</option>
<option value="3">файл3</option>
<option value="4">файл4</option>
<option value="5">файл5</option>
</select>
----------------------------
$fly = $_POST['fly'];  

Понимаю, что нужен массив, но как это должно быть в коде?

   
 
 автор: SnooPI   (24.05.2007 в 23:12)   письмо автору
 
   для: Владимир22   (24.05.2007 в 23:01)
 


<?php
echo '<select size="5" name="fly[]" 
multiple style="width: 100" class="form">
<option value="1">файл1</option>
<option value="2">файл2</option>
<option value="3">файл3</option>
<option value="4">файл4</option>
<option value="5">файл5</option>
</select>'
;

$fly $_POST['fly'];  
?>

Вроде так

   
 
 автор: Владимир22   (25.05.2007 в 00:00)   письмо автору
 
   для: SnooPI   (24.05.2007 в 23:12)
 

Выдаёт:
Array
?????

   
 
 автор: kasmanaft   (25.05.2007 в 00:06)   письмо автору
 
   для: Владимир22   (25.05.2007 в 00:00)
 

$_POST['fly'] теперь у Вас массив. Попробуйте print_r($_POST['fly']), там же и посмотрите ключи элементов

   
 
 автор: Владимир22   (25.05.2007 в 01:03)   письмо автору
 
   для: kasmanaft   (25.05.2007 в 00:06)
 

Как можно сделать просто, типа:
$all="выбранное1*выбранное2*выбранное3* и т.д.";
Главное, чтобы чётко определяло кол-во выбранного и в $all по порядку через звёздочку* их вывело". Кто подскажет? Ау?
Вот сделал, вроде начало так выводить, а explode не делает, почему, в чём ошибка???

for ($i=0; $i<=(count($_POST['fly'])-1); $i++) {
$f=print_r($_POST['fly'][$i]."*");
}
$f=substr(trim($f),2);
$m=explode('*',$f);
echo $m[0];

   
 
 автор: kasmanaft   (25.05.2007 в 06:07)   письмо автору
 
   для: Владимир22   (25.05.2007 в 01:03)
 


<?php
$all 
implode('*'$_POST['fly']); // соединили все в строку
$count count($_POST['fly']); // посчитали
echo $all.' - '.$count;
$array explode('*'$all); // строку опять превратили в массив
print_r($array); // вывели массив
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования