#php #mysql
#php #mysql
Вопрос:
$u_id=$event_assoc['Uniqueid'];
echo $u_id."n";
$result1 = mysql_query("SELECT * FROM eventdetail WHERE unique_id = '$u_id'", $con1);
while($row = mysql_fetch_array($result1))
{
echo 'in eventdetail'."n";
$e_id= $row['event_id'];
$destination= $row['destination'];
$uniqueid= $row['unique_id'];
$call_num= $row['channelid'];
}
echo mysql_num_rows($result1);
echo $e_id."n";
echo $destination."n";
echo $call_num."n";
echo $uniqueid."n";
if(mysql_num_rows($result1)>0)
{
echo 'calculate'."n";
$result= mysql_query("SELECT sum(billsec)
FROM cdr
WHERE uniqueid = '$uniqueid'", $con2);
$bil = mysql_fetch_array($result);
$bill= (float) $bil['sum(billsec)'];
echo $bill."n";
это мой код..
всякий раз, когда я пытаюсь выполнить запрос функции sum, он повторяет billsec верхней строки вместо добавления billsec всей строки
Ответ №1:
Вы выполняете where для уникального идентификатора в запросе sum. Удалите where, и он будет работать
Ответ №2:
Вы используете уникальный идентификатор в своем запросе.. И в таблице одна строка будет иметь этот идентификатор, поэтому вы получаете billsec верхней строки… Удалите предложение where во втором запросе, а затем проверьте.
Ответ №3:
$result= mysql_query(«ВЫБЕРИТЕ сумму (billsec) ИЗ cdr, ГДЕ uniqueid = ‘$uniqueid'», $ con2);
я предполагаю, что в этой области есть ошибка…посмотрите еще раз
Комментарии:
1. Я предлагаю вам отформатировать свой код как код, используя кнопку в редакторе, которая выглядит как {} .
Ответ №4:
Оператор PHP для запроса SQL SUM должен быть:-
$result= mysql_query("SELECT sum(`billsec`), `uniqueid` FROM `cdr` GROUP BY `uniqueid` HAVING `uniqueid` = '$uniqueid'", $con2);
Вам нужно использовать предложение « GROUP BY
» всякий раз, когда вы используете какие-либо агрегированные функции MySQL (если это необходимо). Также, если вы используете какие-либо агрегатные функции (например, « SUM
«, « MAX
» и т. Д.), Вы не можете использовать WHERE
предложение «» в поле (в данном случае поле « uniqueid
«), которое используется в GROUP BY
предложении «».
Надеюсь, это поможет.