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
Форумы портала PHP.SU :: Версия для печати :: HELP ME!!! SOS
Форумы портала PHP.SU » PHP » Программирование на PHP » HELP ME!!! SOS

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

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

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

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

Если нетрудно, помогите, пожалуйста!!!
2. -SCHATTEN- - 02 Марта, 2007 - 10:11:31 - перейти к сообщению
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>
3. RouTeR - 02 Марта, 2007 - 16:54:12 - перейти к сообщению
Конечно, спасибо, но это не то, тоже самое примерно и у меня выводится... Если выбирается на все три чекбокса, а 2, то в той строчке, что выводится последней запятой быть не должно...
4. -SCHATTEN- - 02 Марта, 2007 - 17:39:32 - перейти к сообщению
Тогда так
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.  
5. RouTeR - 02 Марта, 2007 - 19:57:35 - перейти к сообщению
Ага, такой вариант я тоже рассматривал, но хотел сделать покомпактнее, голову ломал сегодня, сделал один вариант, более менее похожий на тот, что мне хотелось бы в результатет получить, но ежели ничего лучшего не найду, то придется действительно описывать каждую ситуацию в отдельности Закатив глазки\n\n(Добавление)
Самое геморройное получается то, что количество чекбоксов у меня фиксированное, но их количество 15, поэтому вариантов может быть много
6. -SCHATTEN- - 02 Марта, 2007 - 20:24:42 - перейти к сообщению
УУ тогда я тебе сочувствую. Можешь сделать нечто вроде
Если есть два слова, поставить запятую между ними.
7. RouTeR - 03 Марта, 2007 - 17:55:23 - перейти к сообщению
Нет, сожеаления здесь излишне... Правильно говорят, если долго мучиться, что-нибудь получится!!! Короче получилось, если кому интересно и кого возникнет такой же вопрос, то вот вам код:
Цитата:
<?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;
}
?>
8. Dagdamor - 03 Марта, 2007 - 18:26:52 - перейти к сообщению
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. ?>
9. RouTeR - 03 Марта, 2007 - 20:36:40 - перейти к сообщению
Dagdamor

Слушай, что-то дейтсвительно я побрел в дебри Ха-ха Спасибо!!!

 

Powered by ExBB FM 1.0 RC1