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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: ---
fankiss
Отправлено: 08 Апреля, 2007 - 19:20:30
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2007  
Откуда: Ижевск


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




Попробую описать попонятнее. Улыбка Во многих форумах, в админ-разделе можно видеть списочек юзеров, где можно поставить галочки в определеных checkbox' ах, соответствующих юзерам и удавить кнопочку "Удалить" Улыбка Хочу реализовать то же самое. Ситуевина такая: в одном файле 2 функции - функция генерирующая форму и функция ее обрабатывающая. Но проблема в том, как объявить переданые даные global? Как узнать, какие checkbox'ы юзер отметил?можно конечно сделать так:
global $var_1
global $var_2
global $var_3
но это если знаешь сколько checkbox'ов было в сгенерированой форме, а если кол-во оных на страницу задано в config.php? Нельзя же сделать что-то вроде:
$flag = 0;
while($user_on page != $flag)
{
global $"var_" . $flag;
$flag += 1;
}
Улыбка) Как это по умному реализовать?
 
 Top
kamikadze
Отправлено: 08 Апреля, 2007 - 19:33:31
Post Id



Склонен к самоубийству


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


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




ну каждому юзеру присвоить идентификатор какой будет и у чекбокса, а потом удалить по идентификатору
 
 Top
Jakeryf
Отправлено: 08 Апреля, 2007 - 19:36:46
Post Id



Новичок


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


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




Есть у тебя n-ое кол-во чекбоксов с именами var1, var2, var3,..., varn с value="1"
ну и перебирай потом в форме циклом
for($i=1;$i<$kols;$i++) //$kols - кол-во пользователей
{
if($_POST['var'.$i] == 1)
{
//ну и делай с отмеченным пользователем что хочешь
}
}


-----
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
 Top
valenok Модератор
Отправлено: 09 Апреля, 2007 - 10:16:42
Post Id



Здесь могла бы быть ваша реклама


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <input type='checkbox' name='delete[]' value='1'> Вася
  3. <input type='checkbox' name='delete[]' value='2'> Петя
  4.  ...
  5. <input type='checkbox' name='delete[]' value='28'> Коля
  6.  


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $delete = $_POST['delete'];
  4. foreach($delete as $id) delete_this_id($id) ;
  5.  


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 09 Декабря, 2009 - 10:14:29
Post Id



Новичок


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


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




Мой скрипт выводит список из базы на страницу. Список построен в виде таблицы. Из этого списка (таблицы) выбираются строки checkbox-ами. Как передать на action-страницу, только строки, которые выбраны? У меня не получается ВСЕ value checkbox-ов передать - передается только один Огорчение

PHP:
скопировать код в буфер обмена
  1.  
  2. $query="SELECT * FROM $table ORDER BY fam";
  3. $res=mysql_query($query);
  4.         echo"<h1>Выберите данные из списка:</h1><br>";
  5.         echo("<table align=\"center\" width=\"70%\" style=\"font-family:arial; font-size:11px;\" cellpadding=2 cellspacing=1>");
  6.         echo("<tr>
  7.                 <td style=\"background:#FF9900; text-align:center; padding:10px\"><b>Выбрать</b></td>
  8.                 <td style=\"background:#EFEFEF; text-align:center; padding:10px\"><b>Фамилия</b></td>
  9.                 </tr>");
  10.         while($row=mysql_fetch_array($res))
  11.         {
  12.                 echo "<tr>";
  13.                 echo "<td style=\"background:#FF9900;text-align:center; \">
  14.                  <FORM ACTION=\"action_list.php\" METHOD=POST>
  15.                          <input name=\"check\" type=\"checkbox\" value=".$row['id']." >
  16.                      </td>
  17.                          <td style=\"padding-left:10px;background:#EFEFEF;text-align:left;width:30%\">".$row['fam']."</td>";
  18.             echo "</tr>";
  19.         }
  20.     echo "</table>";
  21.     echo "<input type=\"reset\" name=\"chek\" value=\"Очистить\">";
  22.     echo "<input name=\"Submit\" type=submit value=\"Далее\"></center>";
  23.     echo "</form>";
  24.  

(Отредактировано автором: 09 Декабря, 2009 - 11:13:42)

 
 Top
valenok Модератор
Отправлено: 09 Декабря, 2009 - 10:35:42
Post Id



Здесь могла бы быть ваша реклама


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


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




Ты видишь разницу между
name="delete[]" и name="check" ?

А сколько у тебя форм получается на странице?
А сколько отправляется?


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 09 Декабря, 2009 - 11:06:11
Post Id



Новичок


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


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




valenok пишет:
Ты видишь разницу между
name="delete[]" и name="check" ?

разница в []
valenok пишет:

А сколько у тебя форм получается на странице?
А сколько отправляется?

форма одна (извиняюсь - тег form не был закрыт. в предыдущеи посте испарвлено)
PHP:
скопировать код в буфер обмена
  1.  
  2. ...
  3. <FORM ACTION=\"action_list.php\" METHOD=POST>
  4. <input name=\"check\" type=\"checkbox\" value=".$row['id']." >
  5. ...
  6. echo "<input type=\"reset\" name=\"chek\" value=\"Очистить форму\">";
  7. echo "<input name=\"Submit\" type=submit value=\"Далее\"></center>";
  8. echo "</form>";
  9.  

отправляется тоже одна

(Отредактировано автором: 09 Декабря, 2009 - 11:15:10)

 
 Top
qwazyMode
Отправлено: 09 Декабря, 2009 - 11:22:15
Post Id



Новичок


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


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




Сделай как valenok говорит - оптимально в форме называй checkbox ы типа
name=delete[id]
примешь потом массив $d=$_REQUEST['delete']
он будет состоять из помеченных чекбоксов
 
 Top
reffery
Отправлено: 09 Декабря, 2009 - 11:52:27
Post Id



Новичок


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


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




qwazyMode пишет:
Сделай как valenok говорит - оптимально в форме называй checkbox ы типа
name=delete[id]
примешь потом массив $d=$_REQUEST['delete']
он будет состоять из помеченных чекбоксов

я могу и так сделать name=check[id]
обработать так:
$d=$_REQUEST['check']
echo $d;

но что мне с массивом делать?
как из него id значения вытащить?
 
 Top
EuGen Администратор
Отправлено: 09 Декабря, 2009 - 12:05:57
Post Id


Профессионал


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


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




После того, как назначите всем чекбоксам имена delete[]
сделайте print_r($_POST) - многое прояснится.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
reffery
Отправлено: 09 Декабря, 2009 - 12:30:57
Post Id



Новичок


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


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




EuGen пишет:
После того, как назначите всем чекбоксам имена delete[]
сделайте print_r($_POST) - многое прояснится.

зачем мне назначать всем чекбоксам имена delete [], разве я немогу обозвать чекбоксы check []?
ладно обзываю их delete[] , обрабатываю print_r($_POST) и получаю это:
Array ( [delete] => Array ( [0] => 2 [1] => 3 [2] => 1 ) [submit] => Далее )

я вижу массив, но как мне вытащить 2,3,1 ??
 
 Top
EuGen Администратор
Отправлено: 09 Декабря, 2009 - 12:37:51
Post Id


Профессионал


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


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




Ну назовите check, это не принципиально, я, наверное, не тот пост счет Вашим.
А в чем проблема с "вытаскиванием"? Разве не видно, что $_POST['delete'] получается массивом.. по которому, например, можно пробежаться for/foreach .. ?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
reffery
Отправлено: 09 Декабря, 2009 - 12:55:48
Post Id



Новичок


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


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




EuGen пишет:
Ну назовите check, это не принципиально, я, наверное, не тот пост счет Вашим.
А в чем проблема с "вытаскиванием"? Разве не видно, что $_POST['delete'] получается массивом.. по которому, например, можно пробежаться for/foreach .. ?

спасибо, теперь все ясно
пс: модеры не стесняйтесь - если чо матом..
 
 Top
EuGen Администратор
Отправлено: 09 Декабря, 2009 - 13:07:16
Post Id


Профессионал


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


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




Вот и ладно.
На будущее - старые темы поднимать не приветствуется. (Ваш пост был создан позднее 1 года с момента последнего ответа в теме)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
reffery
Отправлено: 09 Декабря, 2009 - 13:23:52
Post Id



Новичок


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


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




EuGen пишет:
старые темы поднимать не приветствуется

как то не хотелось плодить одно и то же Закатив глазки ...
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB