[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите С Chekbox
Dewt
Есть код php, в нем есть куча chekbox, нужно сделать кнопочку чтобы при нажатии этой кнопки выделялись все chekbox. Сам в php пока не разбираюсь.

Прошу знающих помочь

сам код:
Цитата
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta content="text/html; charset=KOI8-R" http-equiv="content-type">
<title>Статистика деятельности админов</title>


</head>
<BODY BGCOLOR="#ddddff" LINK=blue VLINK=blue VLINK=blue>

<?php Error_Reporting(E_ALL & ~E_NOTICE);
include("top.php");
$dirct="/usr/local/var/log";
$hdl=opendir($dirct);
$i=0;
if ((strlen($show)==0) && (strlen($delete)==0) && (strlen($clear)==0) && (strlen($file)==0))
{
while ($file = readdir($hdl))
{
if (($file!=".")&&($file!="..")&&(strpos($file, ".log")>0))
{
$a[]=$file;
}
}
closedir($hdl);
rsort($a);
$total=0;
echo ("<center><h1>Статистика деятельности админов</h1></center>");

//рЮАКХЖЮ ЯРЮРХЯРХЙХ МЮВЮКН
echo '<form action="cash.php?clear=Full" method="POST">';
echo ("<table border=1 cellpadding=2 cellspacing=2 width=100%>");
//<form action="1111" enctype="text/plain">

echo ("<tbody>");
echo ("<tr>");
echo ("<td><b>Имя файла</b></td>");
echo ("<td><b>Сумма</b></td>");
echo ("<td><b>Дата изменения</b></td>");
echo ("</tr>");

foreach ($a as $value)
{
$itogo=0;
$fp = fopen("$dirct/$value", "r");
while (!feof ($fp))
{ $buffer = fgets($fp);
$buffer = str_replace("`", "'", $buffer);
list ($datetime, $admin, $tmp1, $login, $tmp2, $summa, $tmp3, $tmp4) = split ("'", $buffer);
if (strlen($admin)>0)
{
if (ltrim(rtrim($admin))!="xumuk")
{ if (strpos($buffer,"Изменил счет")>0)
{
$itogo=$itogo+$summa;
}
}
}
}
$dateoffile=date("H:i:s, j.m.y",filemtime("$dirct/$value"));
echo ("<tr>");
echo '<td>
<input type="checkbox" name="check_'.$i.'" value='.$value.'>
<a href=cash.php?show='.$value.'>'.$value.'</a>
</td>';
if (ltrim(rtrim($admin))!="xumuk")
{
echo ("<td>$itogo</td>");
$total=$total+$itogo;
}
else
{
echo ("<td>-</td>");
}
echo ("<td>$dateoffile</td>");
echo ("</tr>");
fclose ($fp);
$i++;
}

echo ("</tbody>");
echo ("</table>");
echo '<input type="submit" value="Clear All selected" />';

echo '</form>';
//рЮАКХЖЮ ЯРЮРХЯРХЙХ ЙНМЕЖ
echo ("<br>");
echo ("<center>Должны денег - <b>$total</b> smile.gif</center><br><hr>");
}
if (strlen($show)>0)
{
$tempF=$show;
echo ("<center><b>$show</b></center><br>");

$itogo=0;
$fp = fopen("$dirct/$show", "r");
echo '<form name="FormShow" action="dell.php?file='.$tempF.'" dirct="'.$dirct.'" method="POST">';
echo("<table border=1 cellpadding=2 cellspacing=2 width=100%>");
echo("<tbody>");
echo("<tr>");
echo("<td><b>Дата/Время</b></td>");
echo("<td><b>Админ</b></td>");
echo("<td><b>Действие</b></td>");
echo("<td><b>Юзер</b></td>");
echo("<td><b>Сумма</b></td>");
echo("</tr>");
$j=0;
while (!feof ($fp))
{
$buffer = fgets($fp);

$buffer = str_replace("`", "'", $buffer);

list ($datetime, $admin, $tmp1, $login, $tmp2, $summa, $tmp3, $tmp4) = split ("'", $buffer);
if (strlen($admin)>0)
{
echo("<tr>");

echo '<td>
<input type="checkbox" name="check_Show_'.$j.'" value='.$j.'>
'.$datetime.'</td>';

echo("<td>$admin</td>");
echo("<td>$tmp1</td>");
echo("<td>$login</td>");
if (strpos($buffer,"Изменил счет")>0)
{
echo("<td>$summa</td>");
$itogo=$itogo+$summa;
}
else
{
echo("<td>-</td>");
}
echo("</tr>");

}
$j++;
}
echo("</tbody>");
echo("</table>");
echo '<input type="submit" name="But2" value="Dell all selected!!!" />';
echo '</form>';
fclose ($fp);
echo ("<br>");
echo ("<center>Должен денег - <b>$itogo</b> smile.gif</center><br><hr>");
echo ("<a href=cash.php>Назад</a>");
echo (" | ");
echo ("<a href=cash.php?delete=$show>Очистить статистику администратора</a><br>");
}

//unlink ("$dirct/$delete");

if (strlen($clear)>0)
{
foreach ($_POST as $key=>$val)
{
IF(substr_count($key,"check_")>0)
{
echo '<P>'.$val.' - is cleared!!!</P>';
$fp = fopen("$dirct/$val", "w");
fclose ($fp);

}
}
echo ("<a href=cash.php>Назад</a><br>");
}
if (strlen($file)>0)
{
foreach ($_POST as $key=>$val)
{
IF(substr_count($key,"check_")>0)
{

$mass[]=$val;
//echo '<p> Mass Add <p>';
}
}
$fpIn = fopen("$dirct/$file", "r");
//$fpOut= fopen("$dirct/temp$file", "w");
//$fpOut= tmpfile();
$tempMass[]=0;
$k=0;
$flag=true;
while (!feof ($fpIn))
{

$buf = fgets($fpIn);
foreach ($mass as $massIt)
{
if($massIt==$k)
{
$flag=false;
//echo '<p> Flag set value true!!!!! <p>';
}
else
{
//echo '<p> Flag set value False!!!!! <p>';
}
}
if($flag==true)
{
//echo '<p> True <p>';
$tempMass[]=$buf;
}
else
{
//echo '<p> False <p>';
}
$flag=true;
$k++;
}
fclose ($fpIn);
$fp = fopen("$dirct/$file", "w");
foreach ($tempMass as $tmp)
{
fwrite($fp,$tmp);
}
fclose ($fp);

// fclose ($fpOut);
// $fpOut.
// unlink("$dirct/$file");
// rename("$dirct/temp$file","$dirct/$file");
header( "cash.php?show=$file");
echo '<p> Change to file is accepr!!!!! <p>';

echo ("Назад</a><br>");
}
if (strlen($delete)>0)
{
$fp = fopen("$dirct/$delete", "w");
fclose ($fp);
echo '<p> This deleted File string</p>';
echo ("<a href=cash.php>Назад</a><br>");
}
?>
</body>
</html>
zona7o
имхо тут нужно делать все через javascript.

Код
<a href="#" onclick="CheckAllCB">Отметить все</a>
<script type="text/javascript">
x=document.getElementByClassName("checkbox").lenght;//считаем общее количество чекбоксов
for(i=0;i<x;i++)
document.getElementByClassName("checkbox")[i].checked="checked";
либо
document.getElementByClassName("checkbox")[i].setAttribute("checked","checked");
</script>


Возможно где-то что-то неправильно написал, код не проверял - но суть общая такая. Всем чекбоксам - присвоить класс.
Хотя по сути можно и без этого обойтись - задача выбрать все чекбоксы - и по циклу присвоить им checked=checked, а не просто cheсked.

_____________
Everybody lies©
Dewt
Цитата(zona7o @ 24.10.2008, 0:07) [snapback]52537[/snapback]
имхо тут нужно делать все через javascript.

Код
<a href="#" onclick="CheckAllCB">Отметить все</a>
&lt;script type="text/javascript">
x=document.getElementByClassName("checkbox").lenght;//считаем общее количество чекбоксов
for(i=0;i<x;i++)
document.getElementByClassName("checkbox")[i].checked="checked";
либо
document.getElementByClassName("checkbox")[i].setAttribute("checked","checked");
</script>


Возможно где-то что-то неправильно написал, код не проверял - но суть общая такая. Всем чекбоксам - присвоить класс.
Хотя по сути можно и без этого обойтись - задача выбрать все чекбоксы - и по циклу присвоить им checked=checked, а не просто cheсked.


Смысл понял, синтаксис если что подправим. Большое спасибо!
Xakep
пхп тут непричем...тут, как уже сказали, нужен яваскрипт
если не ошибаюсь, то есть такая функция, которая обращаеться ко всем чекбоксам и отмечает/очищает их....
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.