Сортировка полученных данных из MySQL

FedY@

Новичок
if($prev_name){
// вывел footer таблицы
}

не могу понять что за проверка Stm ?
 

Фанат

oncle terrible
Команда форума
FedY@
для этого надо понимать, что ты делаешь
что такое цикл.

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

Stm

Новичок
соме будет, тру если удалось получить запись и поле имя в этой записи равно предыдущему имени
 

FedY@

Новичок
ДА

-~{}~ 01.06.04 21:50:

Питаюсь зделать вот таким способом, подскажите, где ошибки?
PHP:
$billing_query="SELECT * FROM users_billing ORDER by name";
if($billing_result=mysql_query($billing_query)){
           $rows=mysql_num_rows($billing_result);
           $billing=mysql_fetch_array($billing_result);
           echo "<style type=\"text/css\">
<!--
.header {font-family: \"Comic Sans MS\"; font-size: x-small; font-weight: bold;}
.danue {font-family: \"Comic Sans MS\"; color: #699DF8; font-size: x-small; font-weight: bold; }
.silki {font-family: \"Comic Sans MS\"; font-size: x-small; font-weight: bold; }
-->
</style>";
                do{
                       if($prev_name==$billing['name'] || $prev_name==''){
                               echo $prev_name."=".$billing['name']."<br>";
                               $query="SELECT * FROM users_billing WHERE name='".$billing['name']."'";
                               do{
                                    $billing_mbin=$billing_mbin+$billing['mbin'];
                                    $billing_mbout=$billing_mbout+$billing['mbout'];
                                    $billing_costs=$billing_costs+$billing['costs'];
                                    $billing_paid=$billing_paid+$billing['paid'];
                                       }while($query=mysql_query($query));
                                       echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#699DF8\" width=\"100%\" id=\"AutoNumber4\">
  <tr>
    <td colspan=\"7\" bgcolor=\"#FFCC00\"> <font face=\"Tahoma\" size=\"2\" color=\"#0E397A\">&nbsp;<strong>Сумарная за все проживание в сети: </strong></font></td>
  </tr>
  <tr class=\"header\">
    <td width=\"13%\" height=\"20\"><span class=\"style16\">&nbsp;Имя:</span></td>
    <td width=\"15%\"><span class=\"style16\">&nbsp;Дата: </span></td>
    <td width=\"12%\"><span class=\"style16\">&nbsp;За сеть :</span></td>
    <td width=\"14%\"><span class=\"style16\">&nbsp;Mb заказал:</span></td>
    <td width=\"19%\"><span class=\"style16\">&nbsp;Mb использовал:</span></td>
    <td width=\"13%\"><span class=\"style16\">&nbsp;Стоимость:</span></td>
    <td width=\"14%\"><span class=\"style16\">&nbsp;Заплатил:</span></td>
  </tr></tr>
  <tr class=\"danue\">
    <td>&nbsp;<font color=red>".$billing['name']."</font></td>
    <td width=\"15%\"></td>
    <td width=\"12%\"></td>
    <td width=\"14%\">&nbsp;<font color=red>".$billing_mbin." mb</font></td>
    <td width=\"19%\">&nbsp;<font color=red>".$billing_mbout." mb</font></td>
    <td>&nbsp;<font color=red>".$billing_costs."$</font></td>
    <td>&nbsp;<font color=red>".$billing_paid."$</font></td>
  </tr></table><br><br>";
  $prev_name==$billing['name'];
                               }else{
                              if($prev_name!='') echo "Закрываем<br>";
                               $query="SELECT * FROM users_billing WHERE name='".$billing['name']."'";
                               echo $prev_name."!=".$billing['name']."<br>";
                               $prev_name=$billing['name'];
                               }
                        }while($billing=mysql_fetch_array($billing_result));
                }
 

Stm

Новичок
я тут посмотрел твой код, так ты вроде хочешь проссумировать поля у записей с одинаковым именем, если так то запрос нужно другой, типа:
SELECT name, SUM(mbin), SUM(mbout),SUM(costs),SUM(paid) FROM `users_billing` GROUP BY name
 

Larson

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

FedY@

Новичок
вот это уже я делал, а потом начал вставлять ХТМЛ... и сразу стало не так...:(
 

FedY@

Новичок
Автор оригинала: Stm
я тут посмотрел твой код, так ты вроде хочешь проссумировать поля у записей с одинаковым именем, если так то запрос нужно другой, типа:
SELECT name, SUM(mbin), SUM(mbout),SUM(costs),SUM(paid) FROM `users_billing` GROUP BY name
получается беспрерывный цыкл!

-~{}~ 01.06.04 22:35:

Автор оригинала: Фанат
.
И что ты хотел этим сказать ? :)
 

Stm

Новичок
PHP:
if($billing_result=mysql_query('SELECT name, SUM(mbin), SUM(mbout),SUM(costs),SUM(paid) FROM `users_billing` GROUP BY name')){
	echo "<style type=\"text/css\">
	<!--
	.header {font-family: \"Comic Sans MS\"; font-size: x-small; font-weight: bold;}
	.danue {font-family: \"Comic Sans MS\"; color: #699DF8; font-size: x-small; font-weight: bold; }
	.silki {font-family: \"Comic Sans MS\"; font-size: x-small; font-weight: bold; }
	-->
	</style>
	<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#699DF8\" width=\"100%\" id=\"AutoNumber4\">
	  <tr>
	    <td colspan=\"7\" bgcolor=\"#FFCC00\"> <font face=\"Tahoma\" size=\"2\" color=\"#0E397A\">&nbsp;<strong>Сумарная за все проживание в сети: </strong></font></td>
	  </tr>
	  <tr class=\"header\">
	    <td width=\"13%\" height=\"20\"><span class=\"style16\">&nbsp;Имя:</span></td>
	    <td width=\"15%\"><span class=\"style16\">&nbsp;Дата: </span></td>
	    <td width=\"12%\"><span class=\"style16\">&nbsp;За сеть :</span></td>
	    <td width=\"14%\"><span class=\"style16\">&nbsp;Mb заказал:</span></td>
	    <td width=\"19%\"><span class=\"style16\">&nbsp;Mb использовал:</span></td>
	    <td width=\"13%\"><span class=\"style16\">&nbsp;Стоимость:</span></td>
	    <td width=\"14%\"><span class=\"style16\">&nbsp;Заплатил:</span></td>
	  </tr>";
	while($billing=mysql_fetch_array($billing_result)){
      echo "<tr class=\"danue\">
        <td>&nbsp;<font color=red>".$billing['name']."</font></td>
        <td width=\"15%\"></td>
        <td width=\"12%\"></td>
        <td width=\"14%\">&nbsp;<font color=red>".$billing['SUM(mbin)']." mb</font></td>
        <td width=\"19%\">&nbsp;<font color=red>".$billing['SUM(mbout)']." mb</font></td>
        <td>&nbsp;<font color=red>".$billing['SUM(costs)']."$</font></td>
        <td>&nbsp;<font color=red>".$billing['SUM(paid)']."$</font></td>
      </tr>";
	}
	echo "</table><br><br>";
}
 
Сверху