การตรวจสอบการ Query ข้อมูล ว่าข้อมูลที่ค้นหาหากมีค่าซ้ำกันให้ดึงมาแค่ครั้งเดียว ทำยังไงครับ
DISTINCT or GROUP BY
Date :
2013-08-21 03:20:07
By :
t-monroe
ได้แล้วครับ ต้องสร้าง array ตัวใหม่มารองรับค่าที่ตัดตัวซ้ำออก
Code (PHP)
<?
$arr_num = array(8,7,3,0,0,0,2);
for ($i = 0; $i <= 5; $i++ ){
$arr_new[$i] = $arr_num[$i].$arr_num[$i+1];
}
//ค่าที่ได้ 87 73 30 00 00 02
$r=0;
$arr = array();
$b= array_unique ($arr_new);
foreach($b as $value){
$arr[$r] = $value;
$r++;
}
//ค่าที่ได้ 87 73 30 00 02
for ($i = 0; $i <= strlen($arr); $i++ ){
//$sqlNumber="SELECT * FROM `prevision` WHERE number='". $arr[$i]."'";
//$resultNumber=mysql_query($sqlNumber)or die(mysql_error());
//$rowNumber=mysql_fetch_array($resultNumber);
echo $arr[$i]."<br />";
//echo $rowNumber['text']."<br /><br />";
}
?>
Date :
2013-08-21 04:36:32
By :
pengbuts
ความจริงถ้า result set ไม่ได้มีความซับซ้อนใช้ DISTINCT ที่ SQL Query หรือ Group by ก็เพียงพอแล้วครับ การกรอกจาก array จะทำให้สิ้นเปลื้อง cache นะ และระยะเวลาในการ loop data ที่นานขึ้นด้วยจ้าา
Date :
2013-08-21 10:14:57
By :
iloveyoukiss
ขอบคุณมากๆครับ แล้วจะปรับปรุงใช้ครับ
Date :
2013-08-21 12:44:39
By :
pengbuts
Load balance : Server 05