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 :: Помогите дописать функцию выбора сервера...

 PHP.SU

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


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

> Без описания
android
Отправлено: 24 Марта, 2012 - 18:09:49
Post Id


Посетитель


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


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




Здрасте, схема выполнения операции:

CODE (htmlphp):
скопировать код в буфер обмена
  1. http://data1.floomby.ru/files/share/24_3_2012/CagW1OfZ9kmGuh479AoEFQ.png
  2.  

PHP:
скопировать код в буфер обмена
  1.  
  2. function test() {
  3.                 $ret = '';
  4.                 $sub = @$_GET['sub'];
  5.                 if($sub == 'add') {
  6.                         $option = '';
  7.                         $checkbox = '';
  8.                         $list = mysql_query("SELECT * FROM `test`");
  9.                         while($res = mysql_fetch_assoc($list)) {
  10.                                 $option .= '<option value="'.$res['id'].'">'.$res['name'].' - '.$res['ip'].'</option>';
  11.                                 $checkbox .= '<input type="checkbox" name="test_'.$res['id'].'"> '.$res['name'].' - '.$res['ip'].'<br/>';
  12.                         }
  13.                        
  14.                         if(isset($_POST['go'])) {
  15.                                 $box = functions::sql_inc($_POST['name']);
  16.                                 $box_c = functions::sql_inc($_POST['name_']);
  17.                         }
  18.                        
  19.                         return '
  20.                         <form action="" method="post">
  21.                                 Сервер:<br/>
  22.                                 - Использовать один сервер: <select name="name">'.$option.'</select><br/>
  23.                                 - Использовать несколько серверов: '.$checkbox.'
  24.                                 <input type="hidden" name="go" value="1" />
  25.                                 <input type="submit" value="Добавить игру" />
  26.                         </form>
  27.                         ';
  28.                         return false;
  29.                 }
  30.  

(Отредактировано автором: 24 Марта, 2012 - 18:34:14)

 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Марта, 2012 - 18:23:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Схему выполнения операций - фтопку.

Переписать схему на ожидание всегда одного и более выбранных серверов.
Тогда даже если сервер один, представлять его массивом в котором один элемент.
И так метод обработки будет всего один, а не два как у вас.

А как это внешне для юзера будет выглядеть, уже не важно..
 
 Top
android
Отправлено: 24 Марта, 2012 - 18:25:35
Post Id


Посетитель


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


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




DeepVarvar так что делать только с JS? Я бы без него хотел....
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Марта, 2012 - 18:34:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Причем тут JS вообще?
Захочет выберет один сервер, захочет, выберет сто серверов...
если не выберет ни одного - так ему и сказать - ты ничо не выбрал.
Этот селект тока путает..
 
 Top
android
Отправлено: 24 Марта, 2012 - 18:40:11
Post Id


Посетитель


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


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




так а как сделать тогда?

так?

<input type="checkbox" name="name[1]"> 1 сервер
<input type="checkbox" name="name[2]"> 2 сервер
<input type="checkbox" name="name[3]"> 3 сервер


$_POST['name'] - будет массив??
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Марта, 2012 - 18:45:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




android пишет:
так?

<input type="checkbox" name="name[1]"> 1 сервер
<input type="checkbox" name="name[2]"> 2 сервер
<input type="checkbox" name="name[3]"> 3 сервер

или так:

<input type="checkbox" name="server__1"> 1 сервер
<input type="checkbox" name="server__2"> 2 сервер
<input type="checkbox" name="server__3"> 3 сервер

как удобней так и делайте
 
 Top
android
Отправлено: 24 Марта, 2012 - 19:24:26
Post Id


Посетитель


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


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




DeepVarvar как это все в php принять!?!?!?

иды ставятся разные!!! и вручную php я не могу менять
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Марта, 2012 - 19:30:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Первый вариант:
PHP:
скопировать код в буфер обмена
  1. $serverdata = (array) $_POST['name'];
  2. $servers = array();
  3. foreach ($serverdata as $server_id) {
  4.   $servers[] = $server_id
  5. }
  6. echo join(", ", $servers);

Второй вариант:
PHP:
скопировать код в буфер обмена
  1. $servers = array();
  2. foreach ($_POST as $k => $item) {
  3.   if (preg_match("/^name__(\d+)$/", $k, $m)) {
  4.     $servers[] = $m[1];
  5.   }
  6. }
  7. echo join(", ", $servers);
 
 Top
android
Отправлено: 24 Марта, 2012 - 21:47:41
Post Id


Посетитель


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


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




Спасибо, что бы я без вас делал!! Растерялся

(Отредактировано автором: 24 Марта, 2012 - 23:19:40)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB