При сборке массива, чтобы получить вот такой результат:
array (
'number' = 5,
'number2' = 10
)
приходиться вот так извращаться
while ($value = mysql_fetch_assoc($sql)) {
....
$array['number'] += $value['number'];
$array['number2'] += $value['number2'];
}
может есть другой подход ?
SUM(number) не подходит, так как задача другая
типо такого, только добавить значение
$array = array(
'number' => $value['number'],
'number2' => $value['number2'],
);
redreem
11.03.2016 - 16:01
while ($value = mysql_fetch_assoc($sql)) {
foreach ($value as $k=>$v) {
$array[$k] = $v;
}
}
redreemне то , мне не нужно ВСЕ добавлять.
Давайте попробую по другому объяснить. Допустим мне нужно собрать информацию и добавить в этот массив количество.
Приходиться делать так. Проверять есть ли массив с информацией, и если нет добавлять данные, иначе только изменяем количество.
if (isset($info[$value['id']])) {
$info[$value['id']]['number'] += $value['number'];
$info[$value['id']]['fact'] += $value['fact'];
$info[$value['id']]['print'] += $value['print'];
$info[$value['id']]['basic'] += $value['basic'];
} else
$info[$value['id']] = array(
'name' => $value['name'],
'number' => $value['number'],
'fact' => $value['fact'],
ну и так далее ...
);
redreem
11.03.2016 - 18:01
ну а так разве не будет прибавляться значение при наличии или добавляться запись при отсутствии?
while ($value = mysql_fetch_assoc($sql)) {
foreach ($value as $k=>$v) {
if (isset($array[$k])) {
$array[$k] += $v;
} else {
$array[$k] = $v;
}
}
}
Valick
11.03.2016 - 20:07
Цитата (Kusss @ 11.03.2016 - 14:55) |
приходиться вот так извращаться |
а решить задачу на уровне SQL?
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
11.03.2016 - 20:12
про SQL SUM не слыхали ?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
не, не слышал .
Цитата (Kusss @ 11.03.2016 - 14:55) |
SUM(number) не подходит, так как задача другая |
Valick
не решается это в MySQL
redreem
мне нужно собрать только часть значений, зачем мне в массиве куча лишнего ?
И что будет с наименованием после этого ?
Valick
11.03.2016 - 23:13
Цитата (Kusss @ 11.03.2016 - 22:05) |
не решается это в MySQL |
ну нет так нет, я уговаривать не буду
_____________
Стимулятор ~yoomoney - 41001303250491
redreem
11.03.2016 - 23:23
Kusss
засунь нужные поля в массив и проверяй перед foreach через in_array
если еще что всплывет, то "вы извращенец, батенька".