<?
include "connect.php";
$sql="select AVG(Settlement) as Avarage
from x
where Date ='1/4/2005'";
$sqlquery=mysql_db_query($dbname,$SQL);
$num_rows=mysql_num_rows($sqlquery);
while ($table=mysql_fetch_array($num_rows))
{
$SUM=0;
$SUM=$SUM+$table["settlement"];
}
$average=$SUM/$num_rows;
echo $average;
mysql_close();
?>
ถ้าจะใช้ฟังก์ชั่น AVG ของ MySql ก็ได้นะ แต่... ลองเอามันไปคิวรี่ใน mysql แล้วได้ผลลัพธ์ออกมากี่แถวครับ ผมว่าเงื่อนไขตามตัวอย่างที่ให้มามันคงได้ผลลัพธ์แค่แถวเดียวใช่มั้ยครับ (นอกจากจะย่อมาถาม และถ้าของจริงไม่มีพวก Group by ด้วย) ถ้าผลลัพธ์มีแค่แถวเดียวไม่ต้องถึงขนาดต้องใช้ While loop หรอกครับ mysql_fetch_array ออกมาทีเดียวแล้วเอาผลลัพธ์ออกมาแสดงเลย
<?
include "connect.php";
$sql="select AVG(Settlement) as Avarage
from x
where Date ='1/4/2005'";
$sqlquery=mysql_db_query($dbname,$SQL);
$num_rows=mysql_num_rows($sqlquery);
while ($table=mysql_fetch_array($num_rows))
{
$SUM=0;
$SUM=$SUM+$table["settlement"];
}
$average=$SUM/$num_rows;
echo $average;
mysql_close();
?>
<?php
include "connect.php";
$sql="select AVG(settlement) as Average
from x
where Date ='1/4/2005'";
$sqlquery=mysql_query($sql);
$table=mysql_fetch_array($sqlquery);
$average=$table['Average'];
echo $average;
mysql_close();
?>