آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نحوه ی استفاده از دستور SUM و گرفتن خروجی به صورت json (حل شده)

uncoweb  10 سال پیش  10 سال پیش
0 0

 من یک جدول دارم که مجموع خروجی دو تا از ستون ها رو میخام ولی هر کاری میکنم خروجی با اررور مواجه میشم.مشکل کد من از کجاست ؟


function sumRate(){ $conn = connectToDataBase(); $sql = "SELECT SUM(comment_rate) And SUM(comment_vote) FROM comment "; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row $output=array(); while($row = $result->fetch_assoc()) { $record=array(); $record['comment_rate']=$row['comment_rate']; $record['comment_vote']=$row['comment_vote']; $output[]=$record; } } else { echo "0 results"; } echo json_encode($output); $conn->close(); }



 
}

 

0 0
بعد از دستور select باید اسم ستون ها برده بشه وبرای جدا سازی از , (کاما) استفاده بشه And رو بردارید و به , تبدیل کنید همچنین میتونید با استفاده از AS نام ستون رو تغیرر بدید مثلا SUM(ColumnA) AS total (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
reza piry ghadim  10 سال پیش
0 0

سلام میتونید خیلی راحت این کار رو با یه foreach انجام بدید.

روش شما رو تست نکردم ببینم مشکلش چیه ولی فک کنم به این خاطر هست که ;()record=array$ رو داخل حلقه نوشتید.

تست نکردم ولی جر اینی که گفتم به نظر مشکلی نداره . ولی اگر به هر حال این کار نکرد کد پایین رو الان نوشتم و جواب داد .


$conn = connectToDataBase();
$sql
="SELECT * FROM comment ";
$results = $conn->query($sql);
$array1=array();
$array2=array();
foreach($results as result){
$array1=$result['
comment_rate'];
$array1=$result['comment_vote'];
}
$num1=array_sum($array1);
$num2=array_sum($array2);
//حالا دو تا عدد داری میتونی به راحتی هر کاری باهاشون بکنی

 موفق باشید.

پاسخ به سوال 
uncoweb  10 سال پیش
0 0

fast-typer  از روش شما استفاده کردم ولی نتیجه نگرفتم ؟! از روش دیگه هم تست کردم خروجی جیسون بهم نمیده ؟!!!

 function sumRate(){

  

    $conn = connectToDataBase();


    $sql = "SELECT * FROM comment ";

    $results = $conn->query($sql);
    $array1=array();
    $array2=array();
    if ($results->num_rows > 0) {
   
        foreach($results as $result){
            $array1=$result['comment_rate'];
            $array2=$result['comment_vote'];
        }

    } else {
        echo "0 results";
    }
    $num1=array_sum($array1);
    $num2=array_sum($array2);

    echo $num1;
    echo $num2;

    
    $conn->close();


}

پاسخ به سوال 
uncoweb  10 سال پیش
0 0

اینو هم تست کردم ولی اررو دارم !؟؟؟

 function sumRate(){

    $conn = connectToDataBase();



    $sql = "SELECT SUM(comment_rate) , SUM(comment_vote) FROM comment group by comment_id";

    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        $output=array();
        while($row = $result->fetch_assoc()) {
            $record=array();
            $record['comment_rate']=$row['comment_rate'];
            $record['comment_vote']=$row['comment_vote'];





            $output[]=$record;


        }

    } else {
        echo "0 results";
    }

    echo json_encode($output);
    $conn->close();



}
+1 0
یکبار بعد از result خروجی رو چاپ کنید و exitl بزنید ، متوجه اشکال کارتون میشید. (10 سال پیش)
0 0
حل شد با تشکر. (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .