ผมคิวรี่ออก มา แล้วข้อมูลไม่ตรงครับ ทำไมค่า MAX(temp_hight) ที่หาได้ กับค่า `tb_areas`.`name_areas
ช่วยดูหน่อยครับ
Date :
2010-05-18 15:56:08
By :
oasiis
ไม่ตรงกันยังไงเอ่ย คุณ group by นิครับ
Date :
2010-05-18 16:47:55
By :
aknueng
ค่า $tem_h กับ $tem_hมันคนล่ะ row กันครับ
แล้วใช้ group by ผิดรึป่าวครับ
ผมต้องการหาค่าที่มากที่สุดในแต่ล่ะ เป็นแบบรายเดือน
ข้อมูลที่จะแสดงมี
วันที่ 1 $tem_h $tem_h
วันที่ 2 $tem_h $tem_h
วันที่ 3 $tem_h $tem_h
ประมาณนี้อ่ะครับ
แต่ความจริงวันที่ 1 มันต้องเป็น "น่าน" อ่ะครับ
Date :
2010-05-18 16:55:34
By :
oasiis
group by วันที่ ก็จะตรงเฉพาะวันที่ครับ
Date :
2010-05-18 20:09:30
By :
2123
แล้วผมจะมีวิธีแก้ยังไง?
Date :
2010-05-19 08:48:41
By :
oasiis
ช่วยหน่อยครับ
Date :
2010-05-19 09:34:42
By :
oasiis
ผมไม่รู้ตารางของคุณเขียน query ไม่ได้
ลองดูแบบนี้เอาไปแก้เอง
$strSQL =
"SELECT
`tb_province`.`name_prov`,
`tb_temperature`.`areas`,
`tb_areas`.`name_areas`,
MAX(temp_hight),
`tb_temperature`.`date_temp`
FROM
`tb_areas`
Inner Join `tb_province` ON `tb_province`.`id_prov` = `tb_areas`.`prov`
Inner Join `tb_temperature` ON `tb_areas`.`id_areas` = `tb_temperature`.`areas`
WHERE
MONTH(tb_temperature.date_temp)='$mm' AND YEAR(tb_temperature.date_temp)='$yy'
GROUP BY date_format(tb_temperature.date_temp,'%d')
ORDER BY
`tb_temperature`.`date_temp` ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$name = array();
$temp = array();
$numrw=mysql_num_rows($objQuery);
if ($numrw == 0){
echo "ไม่พบข้อมูล";
}else{
while($objResult = mysql_fetch_array($objQuery))
{
$d_temp= $objResult["date_temp"];
$tem_h= $objResult["MAX(temp_hight)"];
$x1 = mysql_query("SELECT provine_name FROM tbxxxxxxxxxx INNER JOIN tbyyyyy ON ????? WHERE temp_hight='$tem_h' MONTH(datetimecol)=??? YEAR(datetimecol)=??? DATE_FORMAT(datetimecol,'%d')=???");
$area= mysql_result($x1,0);
$prov= $objResult["name_prov"];
$ii++;
$name[] = $area;
$temp[] = $tem_h;
$date = sprintf('%04d-%02d-%02d',$y,$m,$d);
?>
<tr>
<td width="40%" height="30" align="center" valign="middle"><?echo thaidate($d_temp);?></td>
<td width="30%" height="30" align="left" valign="middle"><?echo $ii.' '.$area;?></td>
<td width="30%" height="30" align="left" valign="middle"><?echo ' '.number_format($tem_h, 1);?></td>
</tr>
<?}}?>
Date :
2010-05-19 09:37:57
By :
2123
พอจะปริ้นสกรีนข้อมูลในฐานข้อมูลให้ดูได้ป่าวคับ
Date :
2010-05-19 09:41:30
By :
กกกก
แบบนี้ครับ แต่เอามาได้ไม่หมด
Date :
2010-05-19 09:57:25
By :
oasiis
เอาของเดือน 3 มาได้ป่าวคับ - -*
จะได้เอามาเทียบกับข้อมูลด้านบนถูก
Date :
2010-05-19 09:59:23
By :
หหหหห
1
Date :
2010-05-19 10:20:38
By :
oasiis
Date :
2010-05-19 10:29:33
By :
oasiis
คุณลองเอาโค้ดส่วนนี้ไปแก้ให้ถูก หน้าที่ของโค้ดนี้คือเอาชื่อจังหวัดที่มีอุณหภูมิสูงสุดในแต่ละวันมาเก็บในตัวแปร $area
ผมคาดเดาว่าต้องใช้ 2 ตารางแต่จริงๆ คุณอาจจะต้อง join 3 ตาราง ส่วน syntax มันผิดอยู่แล้วคุณจะใส่ AND ใส่ OR และค่า month ค่า year ค่า date จะมาจากไหนให้คุณหาทางแก้เอาครับ
$x1 = mysql_query("SELECT provine_name FROM tbxxxxxxxxxx INNER JOIN tbyyyyy ON ????? WHERE temp_hight='$tem_h' MONTH(datetimecol)=??? YEAR(datetimecol)=??? DATE_FORMAT(datetimecol,'%d')=???");
$area= mysql_result($x1,0);
Date :
2010-05-19 10:55:41
By :
2123
record 1 0
record 2 1
Date :
2010-05-19 11:13:41
By :
2123
แก้ยังไม่ได้เลยครับ
Date :
2010-05-19 11:23:55
By :
oasiis
มันขึ้นว่า
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 6 in
หมายความว่าไง?
Date :
2010-05-19 11:54:24
By :
oasiis
ไปไหนแล้ว
Date :
2010-05-19 12:54:30
By :
oasiis
ช่วยหน่อยครับ
Date :
2010-05-19 14:26:19
By :
oasiis
Load balance : Server 04