разбивка вывода.

граф

Новичок
разбивка вывода.

Здравствуйте. Подскажите как посчитать сумму вывода по странам и изданиям.
PHP:
$resstr=mysql_query("
SELECT `st_id`, `st_list`
FROM `strana`
") or die(mysql_error()); 
	while ($rowstr = mysql_fetch_array($resstr)) { 
		$strid[$rowstr['st_id']]=$rowstr['st_id'];
}
$resrek=mysql_query("
SELECT `re_id`, `re_nazvanie`
FROM `reklama`
") or die(mysql_error()); 
	while ($rowrek = mysql_fetch_array($resrek)) { 
		$rekid[$rowrek['re_id']]=$rowrek['re_id'];
}
// собираю страны и издания, дальше запрос к базе основной


$res=mysql_query("
SELECT *
FROM `zvonki`
LEFT JOIN `reklama` ON `re_id`=`zv_reklama_ist`
LEFT JOIN `strana` ON `st_id`=`zv_strana
ORDER BY  re_id, st_id
") or die(mysql_error()); 
while ($row = mysql_fetch_array($res)) {


	if ($row['re_id']==$rekid[$row['re_id']]) {
		if ($row['st_id']==$strid[$row['st_id']]) {

$VYVOD.='
  <tr>
    <td>'.$row['re_nazvanie'].'</td>
    <td>'.$row['st_list'].'</td>
    <td align="right">'.$row['zv_summa'].'</td>
  </tr>';

}
}
}
просто в конце вывода я могу посчитать, а вот как в таблице в середине вывести суммы по изданию потом по стране?
Ну и собственно сложить их в промежутках.

-~{}~ 02.12.08 17:26:

а может это как-то совсем по другому надо делать?

-~{}~ 02.12.08 19:41:

направьте на правильную дорогу. что я делая не так?
не могу понять за что зацепиться что бы выполнить какое-то условие:(
 

граф

Новичок
я не знаю за что мне зацепиться что бы отделить страну от страны? подскажите хотя бы какую-нибудь функцию что бы она понимала что id города изменился?

-~{}~ 02.12.08 20:35:

неужели ни у кого мысли нет? или это настолько просто что стыдно написать?
 

Фанат

oncle terrible
Команда форума
стыдно спрашивать, а не написать.
а еще стыдно приставать каждые 2 минуты "дядь, напиши!"
не надо думать, что люди сидят на форуме сутками не отлучаясь, только чтобы отвечать тебе в ту же секунду, как ты изволил спросить.
 

граф

Новичок
Вот как раз в школе учили, что спрашивать никогда не стыдно. Стыдно говорить о том чего не знаешь.
 

Фанат

oncle terrible
Команда форума
в принципе, да.
но все эти комментарии типа "неужели ни у кого мысли нет" или "написать стыдно" не вызывают желания кидаться объяснять тебе элементарные вещи.

никакой волшебной функции не нужно
все "функции", которые для этого нужны тебе известны.
запомнить предыдущую переменную и сравнить с текущей - задача не из самых сложных. надо только дать себе труд немного подумать над проблемой.
 

граф

Новичок
ну вот в том-то и дело что никак не придумывается как запомнить предыдущую. и как ее сравнить с настоящей...
 

Фанат

oncle terrible
Команда форума
то есть, для чего в программе нужны переменные, тебе неизвестно?
 

граф

Новичок
известно, но что с чем сравнивать в данном случае, в голове не укладывается
 

Фанат

oncle terrible
Команда форума
название города с названием города.
или что там у тебя. название страны.
 

граф

Новичок
я конечно извиняюсь, но мне кажется проще уж по id города, только вот беда в том что он так же меняется как и название.
 

Фанат

oncle terrible
Команда форума
запомнить предыдущую переменную и сравнить с текущей - задача не из самых сложных.
 

граф

Новичок
Автор оригинала: *****
запомнить предыдущую переменную и сравнить с текущей - задача не из самых сложных.
ну конечно же я так делал, но выдает итог после первого изменения, а не после всего цикла.

PHP:
January	Рамблер	  	 	   	 
			Итого: Рамблер 	  	  	 
March	Рамблер
March	Рамблер	  
April	Рамблер	  	 
January	Из рук в руки	  	 
			Итого: Из рук в руки
January	Из рук в руки
April	Из рук в руки 	  	  	 
January	On-line 	 
			Итого: On-line 
January	On-line 
January	On-line 	  	  	 
January	НиЖ		  	 
			Итого: НиЖ
January	НиЖ	  	 
January	НиЖ
-~{}~ 03.12.08 12:54:

значит что-то не так делаю. а понять не могу.
 

граф

Новичок
Автор оригинала: *****
если речь о коде, который приведен выше, то я не вижу, где там в переменную запоминается текущее значение
PHP:
$r1=$row['re_id'];

    if ($row['re_id']==$rekid[$row['re_id']]) {
        //if ($row['st_id']==$strid[$row['st_id']]) { // тут закоментил что бы сначала с изданиями разобраться.

$VYVOD.='
  <tr>
    <td>'.$row['re_nazvanie'].'</td>
    <td>'.$row['st_list'].'</td>
    <td align="right">'.$row['zv_summa'].'</td>
  </tr>';
  if ($r1!=$r2) {
 $VYVOD.='
  <tr>
    <td>Итог:</td>
    <td></td>
    <td align="right">'.$summa.'</td>
  </tr>';
  }
$r2=$row['re_id'];
		//}
	}
 

граф

Новичок
ну как-то так..
может я не совсем понимаю это
> "где там в переменную запоминается текущее значение"
или точнее совсем не понимаю...
 

Фанат

oncle terrible
Команда форума
в смысле это тебе на другом форуме код написали, но ты даже не понимаешь, что здесь написано?

именно поэтому я против того, чтобы писали код.

присвоение значения переменной производится оператором =
попробуй найти его в коде.
 

граф

Новичок
PHP:
$r1=$row['re_id'];
вот присвоил
PHP:
 $r1
пока она есть одна

после того как это условие не выполнится
PHP:
   if ($r1!=$r2) {
 $VYVOD.='
  <tr>
    <td>Итог:</td>
    <td></td>
    <td align="right">'.$summa.'</td>
  </tr>';
  }
так как второй переменной нет
PHP:
 $r2
а ну да я там забыл что если $r2 пустая то ее приравнять к 0
PHP:
 if (empty ($r2)) { $r2='0';}
ну и далее делаю
PHP:
  $r2=$row['re_id'];
тоесть в следущем цикле они будут одинаковые..

может есть какой-то другой способ зацепиться за переменные? или самому какие-то придумать..
 
Сверху