Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: HELP ME!!! SOS

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
RouTeR
Отправлено: 01 Марта, 2007 - 22:16:46
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Очень нужна ваша помощь!!!
-------------------------------- ---------
Нужна функция обработки чекбоксов:
Допустим у нас есть 3 чекбокса с именами var[0], var[1], var[2], с значениями "SELECT", "INSERT", "DELETE" соответственно. Необходимо выполнить следующее:

Если выбран только один чекбокс, то должно передаваться значение, например, "SELECT"

Если выбрано два и более чекбоксов, то значения должны выводится через запятую, в таком виде: "SELECT,INSERT,UPDATE"
-------------------------------- -------

Если нетрудно, помогите, пожалуйста!!!
 
 Top
-SCHATTEN-
Отправлено: 02 Марта, 2007 - 10:11:31
Post Id



Пользователь


Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006  
Откуда: Оттуда !


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.   <title></title>
  5. </head>
  6. <body>
  7. <?PHP
  8. if (@$_POST['action'] == "show")
  9. echo @$_POST['1'], @$_POST['2'],@$_POST['3'];
  10. ?>
  11. <form action="1.php" method= "post">
  12. <input type="checkbox" name="1" value="SELECT,">select
  13.  
  14. <input type="checkbox" name="2" value="INSERT,">insert
  15.  
  16. <input type="checkbox" name="3" value="DELETE">delete
  17.  
  18. <input type="submit" name="action" value="show">
  19. </form>
  20. </body>
  21. </html>
 
 Top
RouTeR
Отправлено: 02 Марта, 2007 - 16:54:12
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Конечно, спасибо, но это не то, тоже самое примерно и у меня выводится... Если выбирается на все три чекбокса, а 2, то в той строчке, что выводится последней запятой быть не должно...
 
 Top
-SCHATTEN-
Отправлено: 02 Марта, 2007 - 17:39:32
Post Id



Пользователь


Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006  
Откуда: Оттуда !


Помог: 0 раз(а)




Тогда так
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset ($_POST['1']))
  3. echo "SELECT";
  4. if (isset($_POST['1'] && $_POST['2']))
  5. echo "SELECT,INSERT";
  6. if(isset($_POST['2']))
  7. echo "INSERT";
  8. if(isset ..........
  9. //и так все варианты расписать
  10.  
 
 Top
RouTeR
Отправлено: 02 Марта, 2007 - 19:57:35
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Ага, такой вариант я тоже рассматривал, но хотел сделать покомпактнее, голову ломал сегодня, сделал один вариант, более менее похожий на тот, что мне хотелось бы в результатет получить, но ежели ничего лучшего не найду, то придется действительно описывать каждую ситуацию в отдельности Закатив глазки\n\n(Добавление)
Самое геморройное получается то, что количество чекбоксов у меня фиксированное, но их количество 15, поэтому вариантов может быть много
 
 Top
-SCHATTEN-
Отправлено: 02 Марта, 2007 - 20:24:42
Post Id



Пользователь


Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006  
Откуда: Оттуда !


Помог: 0 раз(а)




УУ тогда я тебе сочувствую. Можешь сделать нечто вроде
Если есть два слова, поставить запятую между ними.
 
 Top
RouTeR
Отправлено: 03 Марта, 2007 - 17:55:23
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Нет, сожеаления здесь излишне... Правильно говорят, если долго мучиться, что-нибудь получится!!! Короче получилось, если кому интересно и кого возникнет такой же вопрос, то вот вам код:
Цитата:
<?php
print "
<form action="?" method="post">
<input type="checkbox" name="var[0]" value="SELECT">
<input type="checkbox" name="var[1]" value="INSERT">
<input type="checkbox" name="var[2]" value="UPDATE">
<input type="submit" name="sbm" value="Выполнить">
</form>
";
if (isset($sbm))
{
$br = '';
for ($i=0; $i<count(@$var); $i++)
{
if (@$var[$i] != '')
{
$br .= $var[$i].',';
}
else
{
$var[$i] = '';
}
}
$mass = strlen($br)-1;
$br[$mass] = '';
$br = rtrim($br);
print $br;
}
?>
 
 Top
Dagdamor
Отправлено: 03 Марта, 2007 - 18:26:52
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2007  
Откуда: Барнаул


Помог: 0 раз(а)




RouTeR
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. print "
  3. <form action="?" method="post">
  4. <input type="checkbox" name="var[0]" value="SELECT">
  5. <input type="checkbox" name="var[1]" value="INSERT">
  6. <input type="checkbox" name="var[2]" value="UPDATE">
  7. <input type="submit" name="sbm" value="Выполнить">
  8. </form>
  9. ";
  10. if (isset($sbm)) print implode(",",$var);
  11. ?>
 
 Top
RouTeR
Отправлено: 03 Марта, 2007 - 20:36:40
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Dagdamor

Слушай, что-то дейтсвительно я побрел в дебри Ха-ха Спасибо!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB