Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: подсчет суммы значений столбцов таблицы
 
 автор: Слава   (02.12.2005 в 16:08)
 
 

Помогите написать скрипт,есть таблица,необходимо подсчитать суммарное значение по столбцам,те вывести последней строкой

   
 
 автор: WebTech   (02.12.2005 в 18:43)   письмо автору
 
   для: Слава   (02.12.2005 в 16:08)
 


select sum(stolbets) from table

Так тебя не устраивает?

   
 
 автор: Слава   (02.12.2005 в 19:41)
 
   для: WebTech   (02.12.2005 в 18:43)
 

не SQL, а HTML таблица!!!

   
 
 автор: cheops   (03.12.2005 в 00:37)   письмо автору
 
   для: Слава   (02.12.2005 в 19:41)
 

Тогда прикрепите код формирующий таблицу.

   
 
 автор: Слава   (03.12.2005 в 09:00)
 
   для: cheops   (03.12.2005 в 00:37)
 

Здравствуйте, уважаемый cheops.Мне необходимо написать конструктор таблиц.Работает он так:Пользователь выбирает кол-во строк и кол-во столбцов. Создается матрица (набор текстовых полей) для ввода.Он нажимает кнопку и все это преобразуется в обычную таблицу html.
Я реализовал все вышеперечисленное одним php-файлом(см.код)
Так вот, теперь стоит задача подсчитать сумму столбцов сгенерированной таблицы(т.е вывести последней строчкой под каждым столбцом его сумму.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Конструктор таблиц</title>
</head>
<body>

<?
global $sum;
if(isset(
$do))
{
 switch(
$do)
{
case 
"make":
echo 
"заполните таблицу";
print 
"
<form name=\"size\" action=\"index.php?do=show\" method=\"post\">\n"
;
echo 
"<table>";
for(
$i=1$i<=$row$i++)
{


echo 
"<tr>";

for (
$j=1$j<=$col;$j++)
{
   echo 
"<td><input type=text name=r".$i."c".$j." size=1 maxlength=2></td>";

    }

echo 
"</tr>";
}
echo 
"</table>";
print 
" <input type=\"hidden\" name=\"r\" value=\"$row\">
 <input type=\"hidden\" name=\"c\" value=\"
$col\">\n";
print 
"<br><input type=\"submit\" value=\"принять\">
</form>\n"
;
 echo 
"<br>";

break;
case 
"show":
  echo 
"<table border=1 >";

for(
$i=1$i<=$r$i++)

{


echo 
"<tr>";



for (
$j=1$j<=$c;$j++)
{

$array=array( 'r',$i,'c',$j);

$str=implode("",$array);


print 
"<td>$_POST[$str]</td> \n";

  }



echo 
"</tr>";

}


echo 
"</table>";

 print 
"<br><a href=\"index.php\">новая таблица</a>    \n";
break;


          }
          }
else
{

print 
"<form name=\"size\" action=\"index.php?do=make\" method=\"post\">
Столбцов<input type=\"text\" name=\"col\" size=\"1\" maxlength=\"2\"><br>
Строк&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" name=\"row\" size=\"1\" maxlength=\"2\"><br>
<input type=\"submit\" value=\"создать\">
</form>\n"
;

              }


?>
</body>
</html>

   
 
 автор: WebTech   (03.12.2005 в 12:41)   письмо автору
 
   для: Слава   (03.12.2005 в 09:00)
 

Предлагаю так:
первый файл, в котором формируется талица tabl.php

<?php
$columns 
10// количество столбцов
$rows 10// количество строк

echo '<form action="res.php" method="post">';
echo 
'<table>';
for (
$i=1$i<=$rows$i++)
{
echo 
'<tr>';
  for (
$j=1$j<=$columns$j++)
  {
  echo 
'<td><input type="text" name="row'.$i.'col'.$j.'" size=5"></td>';
  }
echo 
'</tr>';
}
echo 
'</table>';
echo 
'<input type="hidden" name="rows" value="'.$rows.'">';
echo 
'<input type="hidden" name="cols" value="'.$columns.'">';
echo 
'<input type="submit" value="OK">';
echo 
'</form>';
?>


Второй файл - вывод таблицы с итогами по каждому столбцу res.php

<?php
$rows 
$_POST['rows'];
$cols $_POST['cols'];

echo
'<table border="1">';
for (
$i=1$i<=$rows+1$i++)
{
echo 
'<tr>';
  for (
$j=1$j<=$cols$j++)
  {
  if (
$i == $rows+1)
    {
      echo 
'<td><b>'.$col_total[$j].'</b></td>';
    }
    else 
      {
      
$cell 'row'.$i.'col'.$j;
      echo 
'<td>';
      if (!
$_POST[$cell]) echo '&nbsp;';
      echo 
$_POST[$cell];
      echo 
'</td>';
      
$col_total[$j] = $col_total[$j] + $_POST[$cell];
      }
  }
echo 
'</tr>';
}
echo 
'</table>';
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования