[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не считает суммы при условии
intreb
при условии не считает сумму в цикле а без условия считает
что не так? (условия я выполняю отмечаю два чекбокса) в базе поля интеджер


while($rowp=mysql_fetch_array($usr8))
{


if ((isset($_POST['box_ian'])) && (isset($_POST['box_feb']))) { $sum=$rowp['feb']-$rowp['ian']; }




//$sum=$rowp['feb']-$rowp['ian'];


$sum=$rowp['feb']-$rowp['ian'];

}


box_ian равен 100
box_feb равен 103

разность получается 100!
а если раскомментарить $sum=$rowp['feb']-$rowp['ian'];
тогда разность 3



Спустя 13 минут, 27 секунд (18.02.2012 - 19:15) T1grOK написал(а):

$sum=0;
while($rowp=mysql_fetch_array($usr8))
{
$sum+=/*вычисления*/;
}

Хотя не совсем понятна суть задачи.

Спустя 1 час, 3 минуты, 22 секунды (18.02.2012 - 20:19) intreb написал(а):
попробую
задача

у меня таблица

20 крартир - строк и 12 колонок - месяцев
в каждой ячейке показания водомера

чекбоксами я отмечаю для каких месяцев посчитать сколько кубов набежало

Спустя 4 минуты, 41 секунда (18.02.2012 - 20:23) nugle написал(а):
if ((isset($_POST['box_ian'])) && (isset($_POST['box_feb']))) { $sum=$rowp['feb']-$rowp['ian']; }
попробуй заменить на
if (isset($_POST['box_ian']) && isset($_POST['box_feb'])) { $sum=$rowp['feb']-$rowp['ian']; }

Спустя 4 минуты, 35 секунд (18.02.2012 - 20:28) intreb написал(а):
я проверил условие срабатывает

без условия одни нули.
при условии он выдаёт то что записано в январе

Спустя 2 минуты (18.02.2012 - 20:30) intreb написал(а):
Цитата (nugle @ 18.02.2012 - 17:23)
if ((isset($_POST['box_ian'])) && (isset($_POST['box_feb']))) { $sum=$rowp['feb']-$rowp['ian']; }
попробуй заменить на
if (isset($_POST['box_ian']) && isset($_POST['box_feb'])) { $sum=$rowp['feb']-$rowp['ian']; }

та же ерунда

я получаю

id 1 summa 100
id 2 summa 202
id 3 summa 36


это не сумма я просто значен7ия января

Спустя 18 минут, 25 секунд (18.02.2012 - 20:48) johniek_comp написал(а):
while($rowp=mysql_fetch_array($usr8))
{
if (isset($_POST['box_ian'], $_POST['box_feb']))
{
$sum = $rowp['feb'] - $rowp['ian'];
}

$sum = $rowp['feb' ]- $rowp['ian'];

}


Спустя 7 минут, 1 секунда (18.02.2012 - 20:56) intreb написал(а):
Цитата (johniek_comp @ 18.02.2012 - 17:48)
while($rowp=mysql_fetch_array($usr8))
{
if (isset($_POST['box_ian'], $_POST['box_feb']))
{
$sum = $rowp['feb'] - $rowp['ian'];
}

$sum = $rowp['feb' ]- $rowp['ian'];

}

не помогает


while($rowp=mysql_fetch_array($usr8))
{

if (isset($_POST['box_ian'], $_POST['box_feb'])) { $sum = $rowp['feb'] - $rowp['ian']; }

if (($_POST['box_feb']=="1") || ($_POST['box_mar']=="1")) { $sum=$rowp['mar']-$rowp['feb']; }
if (($_POST['box_mar']=="1") || ($_POST['box_apr']=="1")) { $sum=$rowp['apr']-$rowp['mar']; }
if (($_POST['box_apr']=="1") || ($_POST['box_mai']=="1")) { $sum=$rowp['mai']-$rowp['apr']; }
if (($_POST['box_mai']=="1") || ($_POST['box_iun']=="1")) { $sum=$rowp['iun']-$rowp['mai']; }
if (($_POST['box_iun']=="1") || ($_POST['box_iul']=="1")) { $sum=$rowp['iul']-$rowp['iun']; }
if (($_POST['box_iul']=="1") || ($_POST['box_aug']=="1")) { $sum=$rowp['aug']-$rowp['iul']; }
if (($_POST['box_aug']=="1") || ($_POST['box_sep']=="1")) { $sum=$rowp['sep']-$rowp['aug']; }
if (($_POST['box_sep']=="1") || ($_POST['box_oct']=="1")) { $sum=$rowp['oct']-$rowp['sep']; }
if (($_POST['box_oct']=="1") || ($_POST['box_noi']=="1")) { $sum=$rowp['noi']-$rowp['oct']; }
if (($_POST['box_noi']=="1") || ($_POST['box_dec']=="1")) { $sum=$rowp['dec']-$rowp['noi']; }
if (($_POST['box_dec']=="1") || ($_POST['box_ian']=="1")) { $sum=$rowp['ian']-$rowp['dec']; }




echo "id ".$rowp['id']." summa $sum <br>";


}




если условие не срабатывает - выдаёт как положено все нули
если условие срабатывает - выдаёт не результат действия а тупо значение января из базы

если условия нет, работает как надо

Спустя 1 час, 48 минут, 50 секунд (18.02.2012 - 22:44) johniek_comp написал(а):
intreb
ну значить ошибка где-то сверху

Спустя 6 минут, 2 секунды (18.02.2012 - 22:50) walerus написал(а):

while ( $row = mysql_fetch_assoc( $db_result ) )
{
if (isset($_POST['box_ian'], $_POST['box_mar']))
{
$pay = $row['Март'] - $row['Январь'];
echo "pay - $pay";
}
}


У меня все работает, попробуй использовать mysql_fetch_assoc()

Спустя 17 минут, 18 секунд (18.02.2012 - 23:08) intreb написал(а):
Цитата (walerus @ 18.02.2012 - 19:50)

while ( $row = mysql_fetch_assoc( $db_result ) )
{
if (isset($_POST['box_ian'], $_POST['box_mar']))
{
$pay = $row['Март'] - $row['Январь'];
echo "pay - $pay";
}
}


У меня все работает, попробуй использовать mysql_fetch_assoc()

это но помогает


вот мои чекбоксы

<th scope=col><input name=box_ian type=checkbox value=1></th>
<th scope=col><input name=box_feb type=checkbox value=1></th>

получается если с условим то, 103 - 100 = 100
а там же без условия =3

Спустя 7 минут, 12 секунд (18.02.2012 - 23:15) walerus написал(а):

if ( isset( $_POST['box_ian'], $_POST['box_feb'] ) )
{
echo "<pre>";
print_r( $rowp );
echo "</pre>";

$sum = $rowp['feb'] - $rowp['ian'];
echo '|'.$sum.'|';

die( 'STOP' );
}


попробуй этот код и напиши сюда что он ответил

Спустя 2 минуты, 9 секунд (18.02.2012 - 23:17) m4a1fox написал(а):
intreb
Простите конечно, но вы же понимаете, что есть вот это
['Март'], ['Январь']

Спустя 4 минуты, 47 секунд (18.02.2012 - 23:22) walerus написал(а):
m4a1fox - Я специально так написал biggrin.gif , точнее создал у себя базу, внес данные, ну и для красоты по Русски обозвал поля и тоже хотел посмотреть что ответит ТС, но судя по всему чего то он не то делает...

Спустя 3 минуты, 14 секунд (18.02.2012 - 23:25) m4a1fox написал(а):
walerus
Тогда ждем что ТС ответит.

Спустя 9 минут, 1 секунда (18.02.2012 - 23:34) intreb написал(а):
Цитата (walerus @ 18.02.2012 - 20:15)

if ( isset( $_POST['box_ian'], $_POST['box_feb'] ) )
{
echo "<pre>";
print_r( $rowp );
echo "</pre>";

$sum = $rowp['feb'] - $rowp['ian'];
echo '|'.$sum.'|';

die( 'STOP' );
}


попробуй этот код и напиши сюда что он ответил

ответ:


Array
(
[
id] => 1
[ian] => 100
[feb] => 103
[mar] => 105
[apr] =>
[
mai] =>
[
iun] =>
[
iul] =>
[
aug] =>
[
sep] =>
[
oct] =>
[
noi] =>
[
dec] =>
)

|
3|STOP

Спустя 2 минуты, 49 секунд (18.02.2012 - 23:37) intreb написал(а):
а так полуцчается это я стормозил.
я выносил потом сум за фигурные скобки условия. надо всё внутри делать

Спустя 3 минуты, 5 секунд (18.02.2012 - 23:40) intreb написал(а):
Цитата (walerus @ 18.02.2012 - 20:15)

if ( isset( $_POST['box_ian'], $_POST['box_feb'] ) )
{
echo "<pre>";
print_r( $rowp );
echo "</pre>";

$sum = $rowp['feb'] - $rowp['ian'];
echo '|'.$sum.'|';

die( 'STOP' );
}


попробуй этот код и напиши сюда что он ответил

я делал так



while {....

if ( isset( $_POST['box_ian'], $_POST['box_feb'] ) )
{
echo "<pre>";
print_r( $rowp );
echo "</pre>";

$sum = $rowp['feb'] - $rowp['ian'];




}

echo '|'.$sum.'|';
}






Большое спасибо всем!

Спустя 6 минут, 48 секунд (18.02.2012 - 23:47) walerus написал(а):
intreb Удачи )))
Быстрый ответ:

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