Jump to content
  • 0

Работая с checkbox


romawka_ural
 Share

Question

Вот такая задача.

Первое вытаскиваю права пользователей и раскидываю (checkbox checked) - разрешено , а если checked без галочки то не разрешено..галочки поставили отправили сохранили ..все вся задача.

Так готовлю вывод: часть кода..

if($perm[0]){
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." checked /></td>";
}else{
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." /></td>";
}
if($perm[1]){
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." checked /></td>";
}else{
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." /></td>";
}
if($perm[2]){
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." checked /></td>";
}else{
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." /></td>";
}
if($perm[3]){
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." checked /></td>";
}else{
echo "<td align=center bgcolor=#eaeaea><input type=checkbox name='acces[]' value=".$T['id']." /></td>";
}

Так получаю, через форму (для примера через get):

if(isset($_GET['acces'])){

$perm = $_GET['acces'];

foreach ($perm as $k=>$v){
print_r($perm)";
}

Получаю массивы:

Array ( [0] => 9 [1] => 8 [2] => 8 [3] => 8 ) Array ( [0] => 9 [1] => 8 [2] => 8 [3] => 8 ) Array ( [0] => 9 [1] => 8 [2] => 8 [3] => 8 ) Array ( [0] => 9 [1] => 8 [2] => 8 [3] => 8 )

Вопрос такой как определить у какого имени были отмечены галочки либо сняты? (если не понятно креплю скрин).

ПРИНСКРИН

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
А что мешает сделать

<input type=checkbox name='acces[".$T['id']."]' value=".$T['id']." />

сек...щас попробую!

сек...щас попробую!

хм...вроде получается но получаю по одному массиву..

Array ( [9] => 1 ) - правильно как надо ! но только как сделать что бы все массивы показал? ..

а то так получаю по одному ..

foreach ($perm as $k=>$v){

print_r($perm);

}

может по другому принимать?

Link to comment
Share on other sites

  • 0

Смотрите допустим у нас есть несколько

<input type=checkbox name='acces[".$one."]' value=".$two." />

if (isset ($_GET['acces'])) {
while (list ($name, $value) = each ($_GET['acces'])) {
$value = (get_magic_quotes_gpc()) ? $value : addslashes($value); $value = GetSQLValueString($value, "int");
$name = (get_magic_quotes_gpc()) ? $name : addslashes($name);
echo '$value=',$value,'; $name=',$name;
}
}

Должно работать... Насколько я понял что параметр value у нас 0 или 1 значит проверка GetSQLValueString($value, "int") не помешает...

а то так получаю по одному ..

foreach ($perm as $k=>$v){

print_r($perm);

}

может по другому принимать?

в принципе тоже самое что и с while на любителя

foreach ($_GET['acces'] as $name => $value) {
echo 'name: ',$name,'; value: ',$value,'<br>\n';
}

Edited by stars
Link to comment
Share on other sites

  • 0
Смотрите допустим у нас есть несколько

<input type=checkbox name='acces[".$one."]' value=".$two." />

if (isset ($_GET['acces'])) {
while (list ($name, $value) = each ($_GET['acces'])) {
$value = (get_magic_quotes_gpc()) ? $value : addslashes($value); $value = GetSQLValueString($value, "int");
$name = (get_magic_quotes_gpc()) ? $name : addslashes($name);
echo '$value=',$value,'; $name=',$name;
}
}

Должно работать... Насколько я понял что параметр value у нас 0 или 1 значит проверка GetSQLValueString($value, "int") не помешает...





в принципе тоже самое что и с while на любителя

[code]foreach ($_GET['acces'] as $name => $value) {
echo 'name: ',$name,'; value: ',$value,'<br>\n';
}

спасибо сегодня обязательно попробую.. просто никогда еще так с checkbox не работал ...))

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy