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

Форум MySQL

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

 

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

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

тема: Сумма
 
 автор: Алексей Рябченко   (22.09.2008 в 16:43)   письмо автору
 
 

Вот такой вопрос.

надо вывести вот так таблицу и подсчитать сумуу по совпавшему артиклу

articul | name | usd

0001 | one | 10 |

0001 | one | 10 |

сумма | 20 |

0002 | seven | 10 |

0002 | seven | 10 |

сумма | 20 |




мне нужно что бы суммировало так: ума не приложу как это можно реализовать.
если вас не затруднит то подскажите или покажите

  Ответить  
 
 автор: Trianon   (22.09.2008 в 17:12)   письмо автору
 
   для: Алексей Рябченко   (22.09.2008 в 16:43)
 

>надо вывести вот так таблицу и подсчитать сумуу по совпавшему артиклу
  articul   |      name           |  usd
0001        |      one            |   10        |
0001        |      one            |   10        |
сумма                             |   20        |
0002        |      seven          |   10        |
0002        |      seven          |   10        |
сумма                             |   20        |

1. что суммировать?
2. почему каждая строка дублируется?

а если серьезно, то самое простое - выполнить суммирование на php-уровне.

  Ответить  
 
 автор: Алексей Рябченко   (22.09.2008 в 17:23)   письмо автору
 
   для: Trianon   (22.09.2008 в 17:12)
 

я вывожу так

0001
one | 10 |
one | 10 |

0002
seven | 10 |
seven | 10 |

articul- это как комплект, и надо подсчитать сумму каждого комплекта

  Ответить  
 
 автор: Trianon   (22.09.2008 в 19:18)   письмо автору
 
   для: Алексей Рябченко   (22.09.2008 в 17:23)
 

>я вывожу так
код-то где?

  Ответить  
 
 автор: Алексей Рябченко   (22.09.2008 в 19:24)   письмо автору
 
   для: Trianon   (22.09.2008 в 19:18)
 



    <?$query mysql_query('SELECT category,name FROM table ORDER BY category, name'); 
$last ''
while(
$r mysql_fetch_assoc($query)){ 
  if(
$last != $r['category'] ) echo '<strong>'.$r['category'].'</strong><br>'
  echo 
'&nbsp;&nbsp; - '.$r['name'].'<br>'
  
$last $r['category']; 
}
?>

  Ответить  
 
 автор: Trianon   (22.09.2008 в 19:43)   письмо автору
 
   для: Алексей Рябченко   (22.09.2008 в 19:24)
 

И где тут выводятся articul и usd?

  Ответить  
 
 автор: Алексей Рябченко   (22.09.2008 в 20:09)   письмо автору
 
   для: Trianon   (22.09.2008 в 19:43)
 

в базе выглядет так:

  articul    |      name    |  usd 
0001        |      one   |   10        | 
0001        |      two   |   10        | 
0002        |     three   |   10        | 
0002        |     four   |   10        |




<?$query mysql_query('SELECT articul,name,usd FROM table ');  
$last '';  
while(
$r mysql_fetch_assoc($query)){  
  if(
$last != $r['articul'] ) echo '<strong>'.$r['articul'].'</strong><br>';  
  echo 
'&nbsp;&nbsp; - '.$r['name'$r['usd'].'<br>';  
  
$last $r['articul'];  
}
?> 


выводит так:


0001
one | 10 |
two  | 10 |

0002
three | 10 |
four   | 10 |

  Ответить  
 
 автор: Trianon   (22.09.2008 в 21:18)   письмо автору
 
   для: Алексей Рябченко   (22.09.2008 в 20:09)
 

подход правильный.
Но следует добавить в запрос указание порядка (ORDER BY) иначе вся эта схема развалится.
И суммирование $sum[$last] = $r['usd'] + @$sum[$last]; в конец тела цикла.

  Ответить  
Rambler's Top100
вверх

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