2013-10-08 14 views
-2

я хочу плюс сумма + servicecharges + replacecharges + blockcharges + otherchargesКак добавить несколько строк в MySQL Php

, но он не работает, пожалуйста, помогите мне решить эту проблему благодаря

$sql="SELECT CONCAT(monthdate,' ','(',drivernamefuel,')') as drivernamefuel,sum(amount) + 'servicecharges' + 'replacecharges' + 'blockcharges' + 'othercharges' AS amount,drivernamefuel FROM $tablename where carno='$c' AND monthdate BETWEEN '$a' AND '$b' GROUP BY monthdate"; 

См ScreenShort File # 1: http://www.koolfree.com/ImageUpload/uploads/1381252318.jpg

Файл № 2: http://www.koolfree.com/ImageUpload/uploads/1381228480.jpg

его показывает эти ошибки Предупреждение: деление на ноль в indexssds.php на линии 51

Warning: mysql_fetch_array(): поставляется аргумент не является допустимым MySQL результатом ресурсов в indexssds.php на линии 73

здесь завершена код, пожалуйста, проверьте мое обновление благодаря ...........................

<?php 
include 'config.php'; 
$link=mysql_connect("$hostname","$username","$password")or 
die('Could not connect: ' . mysql_error()); 
mysql_select_db("$dbname",$link); 
function formatMoney($number, $fractional=false) { 
    if ($fractional) { 
     $number = sprintf('%.2f', $number); 
    } 
    while (true) { 
     $replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number); 
     if ($replaced != $number) { 
      $number = $replaced; 
     } else { 
      break; 
     } 
    } 
    return $number; 
}  
$a=$_POST['from']; 
$b=$_POST['to']; 
$c=$_POST['to2']; 
echo " <p align='center' class='style1'>Vehicle No: $c </p>"; 
echo "<span align='center' class='style1'>Report For The Period Of $a to $b </span>"; 

include 'create.php'; 
$sql="SELECT CONCAT(monthdate,' ','(',drivernamefuel,')') as drivernamefuel, 
SUM(ifnull(amount,0) + 
ifnull(servicecharges,0) + 
ifnull(replacecharges,0) + 
ifnull(blockcharges,0) + 
ifnull(othercharges,0)) AS amount, 
drivernamefuel 
FROM $tablename where carno='$c' 
AND monthdate BETWEEN '$a' AND '$b' 
GROUP BY monthdate"; 

$result = mysql_query($sql); 
$graphtitle="For The month of $a to $b";//Graph Title 
$xname="BarChart Report By Vehicle No : $c"; 
$yname='VALUE';//y-axis name 
$img_width=900;//image height 
$img_height=700;//image width 
$margins=70; 
$ymargin=6; 
$count=mysql_affected_rows(); 
$graph_width=$img_width - $margins * 2; 
$graph_height=$img_height - $margins * 2; 
$bar_width=25; 
$total_bars=$count; 
$gap= ($graph_width- $total_bars * $bar_width)/($total_bars +1); 
$img=imagecreate($img_width,$img_height); 
include 'barcolor.php'; 
imagefilledrectangle($img,0,0,0,0,$bag_color); 
imageline($img,$margins,$img_height-45,$img_width-20,$img_height-45,$xyline_color); 
imageline($img,$margins,$ymargin,$margins,$img_height-45,$xyline_color); 
$maxvalue="select max(monthdate) as amount from $tablename";//Give your field name for Y axis 
$max=mysql_query($maxvalue); 
while($inf1= mysql_fetch_array($max)) 
    { 
    $ratio=$graph_height/$inf1[0]; 
    } 
$horizontal_lines=8; 
$horizontal_gap=($img_height+20)/$horizontal_lines; 
for($j=1;$j<=$horizontal_lines;$j++) 
{ 
     $y=($img_height-48) - $horizontal_gap * $j ; 
     //imageline($img,$margins+1,$y,$img_width-20,$y,$hline_color); 
     $v=intval($horizontal_gap * $j /$ratio); 
     imagestring($img,2,$margins-30,$y-5,$v,$values_color); 
} 
$i=0; 
while($inf = mysql_fetch_array($result)) 
    { 
     $x1=($margins+10) + ($gap+5) + $i * ($gap+$bar_width) ; 
     $x2=$x1+$bar_width; 
     $y1=($img_height-46)- ceil($inf[1] * $ratio) ; 
     $y2=($img_height-46); 
     imagestring($img,2,$x1+1,$y1-15,$inf[1],$values_color); 
     imagestring($img,2,$x2-23,$img_height-43,$inf[0],$values_color); 
     imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color); // Draw bar 
    $i++; 
    } 
imagestring($img,8, ($img_width-$margin)/2, 0, $graphtitle, $txt_color); 
imagestring($img,5, ($img_width-$margin)/2, $img_height-($ymargin+10), $xname, $txt_color); 
imagestringup($img,5,10,($img_height-$ymargin)/2, $yname, $txt_color); 
//header('Content-type: image/png'); 
imagepng($img, 'barchart.jpg'); 
echo "<div style='border:1px solid #d8d8d8;width:$img_width'><img src='barchart.jpg'></div>"; 
?> 

ответ

1

Вы не проходящие параметры для запроса, так передайте его, как показано ниже

а также вы не добавляете
сумма + servicecharges + replacecharges + blockcharges + othercharges внутри в SUM (..) выбранного запроса, так что не забудьте заменить его

Изменить запрос в

$sql="SELECT CONCAT(monthdate,' ','(',drivernamefuel,')') as drivernamefuel, 
    sum(amount + servicecharges + replacecharges + blockingcharges + othercharges) AS amount, 
    drivernamefuel 
    FROM ".$tablename." 
    WHERE carno='".$c."' AND monthdate BETWEEN '".$a."' AND '".$b."' 
    GROUP BY monthdate"; 
+0

не работает он показывает ошибки Предупреждение: Деление на ноль в Warning: mysql_fetch_array():.. Поставляется аргумент не является допустимым MySQL результаты ресурс в – user2468472

+0

Передача параметров как $ с, изменил мой ответ –

+0

да им с помощью PHP – user2468472

0

Я надеюсь, что это Вам поможет. Удалить qotes (') и изменения SUM (поля, которые вы хотите просуммировать)

$sql="SELECT CONCAT(monthdate,' ','(',drivernamefuel,')') as drivernamefuel,sum(amount + servicecharges + replacecharges + blockcharges + othercharges) AS total_amount,drivernamefuel FROM ".$tablename." where carno='".$c."' AND monthdate BETWEEN '".$a."' AND '".$b."' GROUP BY monthdate"; 

echo $sql; 

эхо запроса на странице и попытаться выполнить запрос непосредственно в PhpMyAdmin. Затем проверьте, в чем проблема с вашим запросом. Проблемы могут быть значением вы передаете для запроса

+0

не работает Показывает ошибку Предупреждение: Деление на ноль в Предупреждение: mysql_fetch_array(): предоставленный аргумент не является допустимым ресурсом результата MySQL в – user2468472

+0

@ user2468472 У меня есть отредактировал мой ответ – Shafeeque

+0

Не удалось распечатать оператор sql для проверки аргумента $ a, $ b, $ c. – sel

0

Попробуйте это:

$sql="SELECT CONCAT(monthdate,' ','(',drivernamefuel,')') as drivernamefuel, 
SUM(amount + 
servicecharges + 
replacecharges + 
blockcharges + 
othercharges) AS amount, 
drivernamefuel 
FROM ".$tablename." where carno='".$c."' 
AND monthdate BETWEEN '".$a."' AND '".$b."' 
GROUP BY monthdate"; 

* Обратите внимание, что расширение туздо is now deprecated and will be removed sometime in the future. Это потому, что он древний, полный плохих практик и не хватает некоторых современных функций. Не используйте его для написания нового кода. Используйте вместо этого PDO или mysqli_*. Ваш запрос склонен к SQL Injection.

+0

не работает. Показывает ошибку. Предупреждение: Деление на ноль в Предупреждение: mysql_fetch_array(): предоставленный аргумент не является допустимым ресурсом результата MySQL в – user2468472

Смежные вопросы