error แบบนี้ Unknown column 'str_id' in 'field list'
สวัสดีคะ รบกวนพี่ๆช่วยแนะหน่อยนะคะ มีerror แถมกราฟก็ไม่ขึ้นด้วยคะ
Code (PHP)
<?php session_start();
$month_full = array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
//include("cksession.php");
include("config.php");
//$adminid=$_SESSION['adminid'];
if(!isset($_GET['start'])){
$start = 0;
}else{
$start = $_GET['start'];
}
$Condition = array();
if(@$_POST['year']!=""){
$Condition[]=$_POST['year'];
$yeat_title=$_POST['year'];
}else{
$Condition[]=date('Y');
$yeat_title=date('Y');
}
if(@$_POST['month']!=""){
$Condition[]=$_POST['month'];
$month_title=(int)$_POST['month'];
}else{
$Condition[]=date('m');
$month_title=(int)date('m');
}
if(count($Condition)!=0){
$strCond = implode('-',$Condition);
$con=" WHERE date_create LIKE('$strCond%' )";
}else{
$con=" where 1 ";
}
// select สถานะ
$sql="select * from noti_type where 1 order by str_id ";
$rs=mysql_query($sql,$conn);
while($arr1=mysql_fetch_array($rs)){
$hair_typeid[]=$arr1['str_id'];
$hair_type[$arr1['str_id']]=$arr1['str_det'];
$graph[$arr1['str_id']]=0;
}
$sql=" SELECT COUNT( status ) as total , `str_id` ";
$sql.=" FROM contact ";
$sql.= $con;
$sql.=" GROUP BY id
ORDER BY `id` asc ";
$rs1=mysql_query($sql)or die(mysql_error()); ;
//$graph= array(0,0,0,0,0,0,0,0,0,0,0,0,0);
while($data=mysql_fetch_array($rs1)){
$graph[$data['id']]=$data['total'];
}
include "libchart/classes/libchart.php";
$chart = new VerticalBarChart();
$dataSet = new XYDataSet();
for($i=0;$i<count($hair_typeid);$i++){
$dataSet->addPoint(new Point($hair_type[$hair_typeid[$i]], $graph[$hair_typeid[$i]]));
}
$chart->setDataSet($dataSet);
$chart->setTitle(" เดือน ".$month_full[$month_title]." ปี ".($yeat_title));
$chart->render("generated/demo2.png");
// print_r($graph);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="" method="post" onsubmit="return ck();" name="form1">
<tr><td>
<label><strong> :</strong>
<select name="month" id="month" style="width:80px;">
<option value="">เลือกเดือน</option>
<option value="01" <?php if($_POST['month']=="01"){ echo "selected" ; } ?>>มกราคม</option>
<option value="02" <?php if($_POST['month']== "02"){ echo "selected" ; } ?>>กุมภาพันธ์</option>
<option value="03" <?php if($_POST['month']=="03"){ echo "selected" ; } ?>>มีนาคม</option>
<option value="04" <?php if($_POST['month']=="04"){ echo "selected" ; } ?>>เมษายน</option>
<option value="05" <?php if($_POST['month']=="05"){ echo "selected" ; } ?>>พฤษภาคม</option>
<option value="06" <?php if($_POST['month']=="06"){ echo "selected" ; } ?>>มิถุนายน</option>
<option value="07" <?php if($_POST['month']=="07"){ echo "selected" ; } ?> >กรกฎาคม</option>
<option value="08" <?php if($_POST['month']=="08"){ echo "selected" ; } ?>>สิงหาคม</option>
<option value="09" <?php if($_POST['month']=="09"){ echo "selected" ; } ?>>กันยายน</option>
<option value="10" <?php if($_POST['month']=="10"){ echo "selected" ; } ?>>ตุลาคม</option>
<option value="11" <?php if($_POST['month']=="11"){ echo "selected" ; } ?>>พฤศจิกายน</option>
<option value="12" <?php if($_POST['month']=="12"){ echo "selected" ; } ?>>ธันวาคม</option>
</select>
</label></td>
<select name="year">
<option value="">เลือกปี</option>
<?php for($i=date("Y");$i>=date("Y")-5;$i--){?>
<option value="<?php echo ($i)?>" <?php if($_POST['year']==($i)){?> selected="selected" <?php }?>>
<?php echo($i+543)?> </option>
<?php } ?>
</select></tr>
</label>
<label>
<input type="submit" name="Submit" value="ค้นหาข้อมูล" />
</label>
<p> </p>
</form>
<table width="100%" border="0" class="postmetadata">
<tr>
<td colspan="5"><img alt="Vertical bars chart" src="generated/demo2.png" style="border: 1px solid gray;"/></td>
</tr>
</table>
</body>
</html>
Tag : PHP, MySQL
Date :
2014-09-11 09:37:38
By :
ffkfia
View :
2213
Reply :
13
จาก Error ก็ประมาณว่าชื่อ Column หรือฟิวด์ไม่ถูกต้องครับ ลอง echo $sql; เอา Query มาดูหน่อยครับ
Date :
2014-09-11 10:18:39
By :
mr.win
echo ออกมาแล้วเป็นแบบนั้นคะ
Date :
2014-09-11 14:27:12
By :
ffkfia
ตาราง contact มีฟิลด์ชื่ออะไรบ้างครับ?
Date :
2014-09-11 14:31:06
By :
arm8957
ก็ในตาราง contact มันไม่มีฟิลด์ชื่อ str_id นิครับ ลองทบทวนความต้องการดูครับ ว่าต้องการฟิลด์ไหน จากตารางไหน?
ที่ต้องการคือฟิลด์ user_id รึป่าวครับ
Code (PHP)
SELECT COUNT( status ) as total , user_id FROM contact WHERE date_create LIKE('2014-09%' ) GROUP BY id ORDER BY id asc
ประวัติการแก้ไข 2014-09-11 14:51:41
Date :
2014-09-11 14:50:04
By :
arm8957
เอาจริงๆ "งง" ครับ 555+
ถ้าต้องการนับ status ก็แบบนี้ไม่ได้หรอครับ
Code (PHP)
SELECT COUNT( status ) as total FROM contact WHERE date_create LIKE('2014-09%' ) GROUP BY id ORDER BY id ASC
Date :
2014-09-11 15:15:15
By :
arm8957
มีใครพอให้คำแนะนำไหมคะ
Date :
2014-09-12 13:39:49
By :
ffkfia
SELECT COUNT( status ) as total , `str_id` FROM contact WHERE date_create LIKE('2014-09%' ) GROUP BY id ORDER BY `id` asc
มันผิดที่ str_id ก็เอา str_id ออก
SELECT COUNT( status ) as total FROM contact
WHERE date_create LIKE('2014-09%' ) GROUP BY id ORDER BY `id` asc
แล้วคำสั่งสำหรับคิวรี่ ควรจะมีการแจ้ง error ด้วย
เช่น
Code (PHP)
$sql = 'SELECT id, COUNT( status ) as total FROM contact
WHERE date_create LIKE('2014-09%' ) GROUP BY id '; // ORDER BY `id` asc'; อันนี้ไม่ต้องใส่ก็ได้มัน default จาก group by id อยู่แล้ว
$rs = mysql_query($sql) or die( $sql . "<br>\n" . mysql_error());
เพื่อมีปัญหาเราจะได้เห็น เออเร่อร์ แล้วคิวรี่ที่ส่งไป
ส่วนของคุณ บอกมาแค่ เออเร่อร์ แต่คิวรี่อะไรไม่นำมาให้ดู แล้วจะรู้ว่าคุณเขียนถูกหรือเปล่าได้ยังไง
ปล. เดาเอาว่า ลบเกิน เอา str_id และ from ออกไปด้วย
ประวัติการแก้ไข 2014-09-12 19:54:14
Date :
2014-09-12 19:52:36
By :
Chaidhanan
ฟังภาษาคนไม่รู้เรื่องนะอีนี่
Date :
2014-09-12 20:02:18
By :
โอเอมจี
Load balance : Server 01