ช่วยดูหน่อยค่ะ ติดปัญหา search mysql ข้อมูล 2 เงื่อนไขค้นหาในช่วงเวลา มันไม่แสดงข้อมูลออกมา T T
Code (PHP)
if($_GET["txtKeyword"] != "")
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("project");
$strSQL = "SELECT * FROM attendance WHERE (date LIKE '%".$_GET["txtKeyword"]."%' or room_id LIKE '%".$_GET["txtKeyword"]."%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
{ // บันทัดนี้มาได้อยา่งไรครับ ปีกกาเปิด ขึ้นมาลอยๆ
if($_POST['start'] != "" and $_POST['end'] !=""){
Date :
2014-11-05 16:40:41
By :
Chaidhanan
Code (PHP)
<td width="469">ระดับชั้น: <select name="txtKeyword">
<option value="<?php echo $_GET["txtKeyword"];?>">--เลือก--</option>
<?php
$result = mysql_query("SELECT * FROM room_data"); // บันทัดนี้อีก mysql_connect อยู่ตรงไหนเหรอครับ ไม่เห็นมี
while($row = mysql_fetch_array($result)){
?><option value="<? echo $row['room_id'] ?>"><? echo $row['room_name'] ?></option>
<? } ?>
</select>
Date :
2014-11-05 16:43:58
By :
Chaidhanan
ใช้เงื่อนไขแบบ if ซ้อนif จะได้หรือปร่าวค่ะ
มีปีกกาปิด ตรงก่อนปิดเทเบิลค่ะ
Date :
2014-11-05 16:47:23
By :
llooll
mysql_connect มีค่า แต่กอปปี้มาไม่หมด รันแล้วก็ไม่ขึ้น error แต่ไม่โชว์ข้อมูลออกมา อ่าค่ะ Y Y
Code (PHP)
<?
session_start();
if($_SESSION['user_id'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['status'] != "ADMIN")
{
echo "This page for Admin only!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("project");
$strSQL = "SELECT * FROM member WHERE user_id = '".$_SESSION['user_id']."' ";
$objQuery = mysql_query($strSQL);
mysql_query("SET NAMES 'UTF8'");
$objResult = mysql_fetch_array($objQuery);
?>
Date :
2014-11-05 16:52:01
By :
llooll
ไม่จำเป็นต้องเปิด { ครับ เอาออกครับ แล้ว
Code (PHP)
if($_POST['start'] != "" and $_POST['end'] !="")
สำหรับบันทัดบน operator มันผิดครับ ไม่ใช้ and แต่ใช้ && ในการเปรียบเทียบครับ
Code (PHP)
<?php echo $_SERVER['SCRIPT_NAME'];?>
<? echo $row['room_id'] ?>
<?=$arr['date']?>
ลองเปลี่ยนรูปแบบการเขียน ให้เป็น pattern เดียวกันนะครับ
<?php echo $_SERVER['SCRIPT_NAME'];?>
<?php echo $row['room_id']; ?>
<?php echo $arr['date'];?>
อย่าก๊อปมาแปะอย่างเดียว server คนอื่นกับของเรา environment(สภาพแวดล้อม) ต่างกัน
Date :
2014-11-05 17:03:06
By :
Chaidhanan
ลองปรับแก้ ให้อยู่ในรูปแบบเดียวกันแล้วค่ะ แต่ก็ไม่สามรถค้นหาข้อมูลได้
Date :
2014-11-05 23:53:29
By :
llooll
ลองแก้ใหม่เป็นแบบบนี้แล้วแต่ก้ยัง้นหาข้อมูลไม่เจอค่ะ อยากทราบรูปแบบวิธีการเขียนเสิชเเบหลายเงื่อนไข
ที่มีการค้นหาทั้งช่วงระหว่างวันที่และการค้นหาจากกลุ่มของข้อมุล ช่วยแนะนำหน่อยน่ะค่ะ
Code (PHP)
<?
session_start();
if($_SESSION['user_id'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['status'] != "ADMIN")
{
echo "This page for Admin only!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("project");
$strSQL = "SELECT * FROM member WHERE user_id = '".$_SESSION['user_id']."' ";
$objQuery = mysql_query($strSQL);
mysql_query("SET NAMES 'UTF8'");
$objResult = mysql_fetch_array($objQuery);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#dateInput").datepicker();
});
</script>
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#txtKeyword2").datepicker({ dateFormat: 'yy-mm-dd' });
$("#txtKeyword3").datepicker({ dateFormat: 'yy-mm-dd' });// รูปแบบวันที่ที่ได้จะเป็น 2009-08-16
});
</script>
<style type="text/css">
.ui-datepicker{
width:220px;
font-family:tahoma;
font-size:11px;
text-align:center;
}
.style3 {font-size: 36px}
.style4 {font-size: 12px}
</style>
<head>
<meta charset="UTF-8">
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<style type="text/css">
<!--
.style1 {font-size: 16px}
.style2 {font-size: 14px}
-->
</style>
<body>
<form name="frmSearch" method="get" action="">
<table width="627" border="0">
<tr>
<td width="148" align="right"><span class="style4"><strong></strong></span></td>
<td width="469">ระดับชั้น: <select name="txtKeyword1">
<option value="<?php echo $_GET["txtKeyword1"];?>">--เลือก--</option>
<?
$result = mysql_query("SELECT * FROM room_data");
while($arr = mysql_fetch_array($result)){
?><option value="<? echo $arr['room_id'] ?>"><? echo $arr['room_name'] ?></option>
<? } ?>
</select>
<p>วันเริ่ม: <input name="txtKeyword2" type="text" id="txtKeyword2" /></p>
<p>วันสุดท้าย: <input name="txtKeyword3" type="text" id="txtKeyword3" /></p>
<input type="submit" value="Search"></td>
</tr>
</table>
<br>
<?php
if($_POST["txtKeyword1"] != "")
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("project");
$strSQL = "SELECT * FROM attendance WHERE (date LIKE '%".$_POST["txtKeyword1"]."%' or room_id LIKE '%".$_POST["txtKeyword1"]."%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
if($_POST['txtKeyword2'] != "" && $_POST['txtKeyword3'] !="")
{
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN $txtKeyword2 AND $txtKeyword3";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="800" border="0">
<tr bgcolor="#0099FF">
<th width="91"> <div align="center">วันที่ </div></th>
<th width="91"> <div align="center">รหัสนักเรียน </div></th>
<th width="98"> <div align="center">ชื่อ </div></th>
<th width="98"> <div align="center">นามสกุล </div></th>
<th width="98"> <div align="center">ระดับชั้น </div></th>
<th width="98"> <div align="center">สถานะ </div></th>
</tr>
<?php
while($arr = mysql_fetch_array($objQuery)){
?>
<tr bgcolor="#FFFFFF">
<td><input name="date[]" type="text" id="date" size="9" value="<?=$arr[date]?>"></td>
<td><input name="stu_id[]" type="text" id="stu_id" size="9" value="<?=$arr[stu_id]?>"></td>
<td><input name="stu_name[]" type="text" id="stu_name" value="<?=$arr[stu_name]?>"></td>
<td><input name="stu_lname[]" type="text" id="stu_lname" value="<?=$arr[stu_lname]?>"></td>
<td><input name="room_id[]" type="text" id="room_id" size="10" value="<?=$arr[room_id]?>"></td>
<td><input name="inclass_id[]" type="text" id="inclass_id" size="10" value="<?=$arr[inclass_id]?>"></td>
</tr>
<?php }} ?>
</table>
</form>
<?php
mysql_close($objConnect);
}
?>
</body></html>
Date :
2014-11-06 08:42:45
By :
llooll
if($_POST['txtKeyword2'] != "" && $_POST['txtKeyword3'] !="")
{
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN $txtKeyword2 AND $txtKeyword3 ";
สีแดงไม่ได้ถูกกำหนดไว้
และ ไม่มี quote ครอบ ตัวแปร
แก้เป็น
Code (PHP)
$txtKeyword2 = isset($_GET['txtKeyword2'])? $_GET['txtKeyword2'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword3 = isset($_GET['txtKeyword3'])? $_GET['txtKeyword3'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
ส่วนข้างล่างนี้เป็น โค๊ดที่ผมแก้รูปแบบให้ใหม่ อยากให้เขียนแยก ส่วน PHP html javascript ให้ชัดเจนครับ จะเข้าใจงานได้ง่ายขึ้น้
Code (PHP)
<?php
session_start();
if($_SESSION['user_id'] == ""){ echo "Please Login!"; exit(); }
if($_SESSION['status'] != "ADMIN"){ echo "This page for Admin only!"; exit(); }
mysql_connect("localhost","root","root");
mysql_query("SET NAMES 'UTF8'");
mysql_select_db("project");
/////////////////////////// set txtKeyword variable /////////////////
$txtKeyword1 = isset($_GET['txtKeyword1'])? $_GET['txtKeyword1'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword2 = isset($_GET['txtKeyword2'])? $_GET['txtKeyword2'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword3 = isset($_GET['txtKeyword3'])? $_GET['txtKeyword3'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
/////////////////////////// set option txtKeyword /////////////////
$opt_keyword = '';
$result = mysql_query("SELECT * FROM room_data");
while($arr = mysql_fetch_assoc($result)){ // ใช้ mysql_fetch_assoc แทน mysql_fetch_array เพราะ ใช้งานแค่ key name ไม่ได้ ลำดับที่
$slc = $arr['room_id']==$txtKeyword1? 'SELECTED' : '';
$opt_keyword .= "<option value='$arr[room_id]' $slc >$arr[room_name]</option>";
}
/////////////////////////////////////////////////////////////////////
$arr_tr = ''; // กำหนด ตัวแปรเพื่อรับ ข้อมูล tr
if($txtKeyword1 > '' ){
//$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
// เปิดจากข้างบนแล้วไม่จำเป็นต้องเปิดอีก ยกเว้น เปิดคนละ server
//$objDB = mysql_select_db("project");
// database ถูกเลือกแล้วจากข้างบน
$strSQL = "SELECT * FROM attendance WHERE (date LIKE '%$txtKeyword1%' or room_id LIKE '%$txtKeyword1%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($arr = mysql_fetch_array($objQuery)){
$arr_tr .= "
<tr bgcolor='#FFFFFF'>
<td><input name='date[]' type='text' id='date' size='9' value='$arr[date]' ></td>
<td><input name='stu_id[]' type='text' id='stu_id' size='9' value='$arr[stu_id]' ></td>
<td><input name='stu_name[]' type='text' id='stu_name' value='$arr[stu_name]' ></td>
<td><input name='stu_lname[]' type='text' id='stu_lname' value='$arr[stu_lname]' ></td>
<td><input name='room_id[]' type='text' id='room_id' size='10' value='$arr[room_id] ></td>
<td><input name='inclass_id[]' type='text' id='inclass_id' size='10' value='$arr[inclass_id]' ></td>
</tr>";
}
}
}
//////////////////////////////////////////////////////////////////////////////////////
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script >
///////////////////////////////////////////////////////////////////////////////////////////////////////
</script>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#dateInput").datepicker();
$("#txtKeyword2").datepicker({ dateFormat: 'yy-mm-dd' });
$("#txtKeyword3").datepicker({ dateFormat: 'yy-mm-dd' });// รูปแบบวันที่ที่ได้จะเป็น 2009-08-16
});
///////////////////////////////////////////////////////////////////////////////////////////////////////
</script>
<style type="text/css">
.ui-datepicker{ width:220px; font-family:tahoma; font-size:11px; text-align:center; }
.style1 {font-size: 16px}
.style2 {font-size: 14px}
.style3 {font-size: 36px}
.style4 {font-size: 12px}
</style>
</head>
<body>
<form name="frmSearch" method="get" action="">
<table width="627" border="0">
<tr>
<td width="148" align="right"><span class="style4"><strong></strong></span></td>
<td width="469">
ระดับชั้น: <select name="txtKeyword1"><option>--เลือก--</option><?=$opt_keyword1?></select>
<p>วันเริ่ม: <input name="txtKeyword2" type="text" id="txtKeyword2" /></p>
<p>วันสุดท้าย: <input name="txtKeyword3" type="text" id="txtKeyword3" /></p>
<input type="submit" value="Search"></td>
</tr>
</table>
<br>
<table width="800" border="0">
<tr bgcolor="#0099FF">
<th width="91"> <div align="center">วันที่ </div></th>
<th width="91"> <div align="center">รหัสนักเรียน </div></th>
<th width="98"> <div align="center">ชื่อ </div></th>
<th width="98"> <div align="center">นามสกุล </div></th>
<th width="98"> <div align="center">ระดับชั้น </div></th>
<th width="98"> <div align="center">สถานะ </div></th>
</tr>
<?=$arr_tr?>
</table>
</form>
</body>
</html>
ประวัติการแก้ไข 2014-11-06 10:52:19 2014-11-06 10:55:58
Date :
2014-11-06 10:47:54
By :
Chaidhanan
ขอบคุณมากค่่ะ แต่มันก็ยังติดปัญหาอยู่อีกค่ะ ??
ตรงนี้มันไม่แสดงตัวเลือก ให้ลือก option เลยค่ะ
/////////////////////////// set option txtKeyword /////////////////
$opt_keyword = '';
$result = mysql_query("SELECT * FROM room_data");
while($arr = mysql_fetch_assoc($result)){ // ใช้ mysql_fetch_assoc แทน mysql_fetch_array เพราะ ใช้งานแค่ key name ไม่ได้ ลำดับที่
$slc = $arr['room_id']==$txtKeyword1? 'SELECTED' : '';
$opt_keyword .= "<option value='$arr[room_id]' $slc >$arr[room_name]</option>";
}
คือในฐานข้อมูลได้เพิ่มข้อมุลบันทึกการมาเรียนไปทั้งหมด 30 วันค่ะ
แต่เสิชหาข้อมูลช่วงวันที่ 1- 30 ขึ้น ค่ะ แต่ถ้าค้นหาในช่วงอื่น เช่น 1-10 มันขึ้นแบบนี้ค่ะ
อันนี้เป็นตารางฐานข้อมูลที่ได้เก็บข้อมูลเอาไว้ค่ะ
Date :
2014-11-06 13:48:02
By :
llooll
เปลี่ยน get เป็น post
<form name="frmSearch" method="get" action="">
แก้เป็น
<form name="frmSearch" method="post" action="">
และตัวแปรที่ใช้รับ แก้ $_GET เป็น $_POST ครับ ความยาวของข้อมูลมันยาวเกินกำหนดครับ
ปล.
ระดับชั้น: <select name="txtKeyword1"><option>--เลือก--</option><?=$opt_keyword1 ?></select> เอาเลข 1 ออกครับมันเกินมา
ประวัติการแก้ไข 2014-11-06 16:28:15 2014-11-06 16:28:50
Date :
2014-11-06 16:24:08
By :
Chaidhanan
ลองปรับแก้โค็ชใหม่ตามคำแนะนำแล้วค่ะ มันสามารถค้นหาในช่วงวันที่ได้แล้ว แต่แสดงข้อมูลมาหมดทั้ง2 ห้องค่ะ
Code (PHP)
<?php
session_start();
if($_SESSION['user_id'] == ""){ echo "Please Login!"; exit(); }
if($_SESSION['status'] != "ADMIN"){ echo "This page for Admin only!"; exit(); }
mysql_connect("localhost","root","root");
mysql_query("SET NAMES 'UTF8'");
mysql_select_db("project");
/////////////////////////// set txtKeyword variable /////////////////
$txtKeyword1 = isset($_POST['txtKeyword1'])? $_POST['txtKeyword1'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword2 = isset($_POST['txtKeyword2'])? $_POST['txtKeyword2'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword3 = isset($_POST['txtKeyword3'])? $_POST['txtKeyword3'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
/////////////////////////// set option txtKeyword /////////////////
$opt_keyword = '';
$result = mysql_query("SELECT * FROM room_data");
while($arr = mysql_fetch_assoc($result)){ // ใช้ mysql_fetch_assoc แทน mysql_fetch_array เพราะ ใช้งานแค่ key name ไม่ได้ ลำดับที่
$slc = $arr['room_id']==$txtKeyword1? 'SELECTED' : '';
$opt_keyword .= "<option value='$arr[room_id]' $slc >$arr[room_name]</option>";
}
/////////////////////////////////////////////////////////////////////
$arr_tr = ''; // กำหนด ตัวแปรเพื่อรับ ข้อมูล tr
if($txtKeyword1 > '' ){
//$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
// เปิดจากข้างบนแล้วไม่จำเป็นต้องเปิดอีก ยกเว้น เปิดคนละ server
//$objDB = mysql_select_db("project");
// database ถูกเลือกแล้วจากข้างบน
$strSQL = "SELECT * FROM attendance WHERE (room_id LIKE '%$txtKeyword1%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($arr = mysql_fetch_array($objQuery)){
$arr_tr .= "
<tr bgcolor='#FFFFFF'>
<td><input name='date[]' type='text' id='date' size='9' value='$arr[date]' ></td>
<td><input name='stu_id[]' type='text' id='stu_id' size='9' value='$arr[stu_id]' ></td>
<td><input name='stu_name[]' type='text' id='stu_name' value='$arr[stu_name]' ></td>
<td><input name='stu_lname[]' type='text' id='stu_lname' value='$arr[stu_lname]' ></td>
<td><input name='room_id[]' type='text' id='room_id' size='10' value='$arr[room_id]' ></td>
<td><input name='inclass_id[]' type='text' id='inclass_id' size='10' value='$arr[inclass_id]' ></td>
</tr>";
}
}
}
//////////////////////////////////////////////////////////////////////////////////////
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script >
///////////////////////////////////////////////////////////////////////////////////////////////////////
</script>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#dateInput").datepicker();
$("#txtKeyword2").datepicker({ dateFormat: 'yy-mm-dd' });
$("#txtKeyword3").datepicker({ dateFormat: 'yy-mm-dd' });// รูปแบบวันที่ที่ได้จะเป็น 2009-08-16
});
///////////////////////////////////////////////////////////////////////////////////////////////////////
</script>
<style type="text/css">
.ui-datepicker{ width:220px; font-family:tahoma; font-size:11px; text-align:center; }
.style1 {font-size: 16px}
.style2 {font-size: 14px}
.style3 {font-size: 36px}
.style4 {font-size: 12px}
</style>
</head>
<body>
<form name="frmSearch" method="post" action="">
<table width="627" border="0">
<tr>
<td width="148" align="right"><span class="style4"><strong></strong></span></td>
<td width="469">
ระดับชั้น: <select name="txtKeyword1"><option>--เลือก--</option><?=$opt_keyword?></select>
<p>วันเริ่ม: <input name="txtKeyword2" type="text" id="txtKeyword2" /></p>
<p>วันสุดท้าย: <input name="txtKeyword3" type="text" id="txtKeyword3" /></p>
<input type="submit" value="Search"></td>
</tr>
</table>
<br>
<table width="800" border="0">
<tr bgcolor="#0099FF">
<th width="91"> <div align="center">วันที่ </div></th>
<th width="91"> <div align="center">รหัสนักเรียน </div></th>
<th width="98"> <div align="center">ชื่อ </div></th>
<th width="98"> <div align="center">นามสกุล </div></th>
<th width="98"> <div align="center">ระดับชั้น </div></th>
<th width="98"> <div align="center">สถานะ </div></th>
</tr>
<?=$arr_tr?>
</table>
</form>
</body>
</html>
ประวัติการแก้ไข 2014-11-06 16:58:44
Date :
2014-11-06 16:56:32
By :
llooll
Code (PHP)
$strSQL = "SELECT * FROM attendance WHERE (room_id LIKE '%$txtKeyword1%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "SELECT * FROM attendance WHERE date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($arr = mysql_fetch_array($objQuery)){
แก้เป็น
Code (PHP)
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "
SELECT * FROM attendance
WHERE room_id LIKE '%$txtKeyword1%'
AND date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($arr = mysql_fetch_array($objQuery)){
Date :
2014-11-06 17:38:14
By :
Chaidhanan
ขอบคุณพี่ๆๆ ที่คอยช่วยย เหลือมากเลยค่าา ตอนนนี้รันออกแล้ว
ขอบคุณมากๆๆเลยค่ะ
Date :
2014-11-06 18:07:40
By :
llooll
รบกวนถามอีกครั้งน่ะค่ะ คืออยากจะให้นับจำนวนของนักเรียนที่ มา ลา ขาด อ่าค่ะ โดย count มาจากที่ได้ทำการ เสิช ข้อมูล
แต่พอหนูใส่เข้าไปมันนับมาทั้งหมดในฐานข้อมูลอ่าค่ะ
หรือควรใช้คำสั่งอะไรเพิ่มเติมบ้างค่ะ
<?
/////////////////////////////// นับจำนวนนักเรียนที่ มาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '901'");
$row1 = mysql_fetch_row($result);
/////////////////////////////// นับจำนวนนักเรียนที่ ขาดมาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '902'");
$row2 = mysql_fetch_row($result);
/////////////////////////////// นับจำนวนนักเรียนที่ ลาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '903'");
$row3 = mysql_fetch_row($result);
//mysql_free_result($result);
?>
มา<? echo $row1[0] ; ?>คน<br>
ลา<? echo $row2[0] ; ?>คน<br>
ขาด<? echo $row3[0] ; ?>คน
Date :
2014-11-08 14:16:35
By :
llooll
901 902 903 คืออะไรครับ
Date :
2014-11-08 19:24:45
By :
Chaidhanan
901 = มา
902 = ลา
903 = ขาด ค่ะ
คืดอยากจะสรุปว่าช่วงที่ เลือกข้มอูลมาอ่าค่ะ ว่ามีเด็กมาเรียน ขาด ลา กี่คน
Date :
2014-11-08 19:46:50
By :
llooll
แต่มัน count ข้อมุลทั้งหมด มาแสดง ไม่ทราบว่าต้องใช้เงื่อนไขอ่ะไรเพิ่มเติมบ้างไหมค่ะ
Date :
2014-11-08 19:56:32
By :
llooll
ดูโค๊ดแล้ว ก็น่าจะถูกแล้วนะครับ
ลองแบบข้างล่างดูนะครับ
Code (SQL)
select sum(a901) s1, sum(a902) s2, sum(a903) s3
from (
select count(inclass_id) a901, 0 a902, 0 a903 from attendance where inclass_id = 901
union all select 0, count(inclass_id), 0 from attendance where inclass_id = 902
union all select 0, 0, count(inclass_id) a903 from attendance where inclass_id = 903
) tmp
หรือ
Code (SQL)
select 901 id, count(inclass_id) num from attendance where inclass_id = 901
union all
select 902, count(inclass_id) from attendance where inclass_id = 902
union all
select 903, count(inclass_id) from attendance where inclass_id = 903
Date :
2014-11-08 21:10:32
By :
Chaidhanan
ยังไม่ได้ค่ะ มันติดเออเร่อ ลองเอา code ไปแทรก ก็เลยเปลี่ยนกลับมันเป็นของเดิม
คือต้องเอาโค้ชไปแทรกตรงนี้ถูกต้องแล้วใช้ไหมค่ะ ช่วยดูให้หน่อยน่ะค่ะ มัน count มาทั้งหมดเลยค่ะ
Code (PHP)
<?php
session_start();
if($_SESSION['user_id'] == ""){ echo "Please Login!"; exit(); }
if($_SESSION['status'] != "ADMIN"){ echo "This page for Admin only!"; exit(); }
mysql_connect("localhost","root","root");
mysql_query("SET NAMES 'UTF8'");
mysql_select_db("project");
/////////////////////////// set txtKeyword variable /////////////////
$txtKeyword1 = isset($_POST['txtKeyword1'])? $_POST['txtKeyword1'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword2 = isset($_POST['txtKeyword2'])? $_POST['txtKeyword2'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
$txtKeyword3 = isset($_POST['txtKeyword3'])? $_POST['txtKeyword3'] : ''; // ป้องการ warning ไม่พบตัวแปร จะได้ไม่มีขยะในระบบ
/////////////////////////// set option txtKeyword /////////////////
$opt_keyword = '';
$result = mysql_query("SELECT * FROM room_data");
while($arr = mysql_fetch_assoc($result)){ // ใช้ mysql_fetch_assoc แทน mysql_fetch_array เพราะ ใช้งานแค่ key name ไม่ได้ ลำดับที่
$slc = $arr['room_id']==$txtKeyword1? 'SELECTED' : '';
$opt_keyword .= "<option value='$arr[room_id]' $slc >$arr[room_name]</option>";
}
/////////////////////////////////////////////////////////////////////
$arr_tr = ''; // กำหนด ตัวแปรเพื่อรับ ข้อมูล tr
if($txtKeyword1 > '' ){
//$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
// เปิดจากข้างบนแล้วไม่จำเป็นต้องเปิดอีก ยกเว้น เปิดคนละ server
//$objDB = mysql_select_db("project");
// database ถูกเลือกแล้วจากข้างบน
if( $txtKeyword2 && $txtKeyword3 ){
$strSQL = "SELECT * FROM attendance WHERE room_id LIKE '%$txtKeyword1%' AND date BETWEEN '$txtKeyword2' AND '$txtKeyword3' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($arr = mysql_fetch_array($objQuery)){
/////////////////////////////// นับจำนวนนักเรียนที่ มาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '901' ");
$row1 = mysql_fetch_row($result);
/////////////////////////////// นับจำนวนนักเรียนที่ ขาดมาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '902' ");
$row2 = mysql_fetch_row($result);
/////////////////////////////// นับจำนวนนักเรียนที่ ลาเรียน /////////////////////////////////
$result = mysql_query("SELECT COUNT(*) FROM `attendance` WHERE `inclass_id` = '903' ");
$row3 = mysql_fetch_row($result);
//mysql_free_result($result);
$arr_tr .= "<tr bgcolor='#FFFFFF'>
<td><input name='date[]' type='text' id='date' size='9' value='$arr[date]' ></td>
<td><input name='stu_id[]' type='text' id='stu_id' size='9' value='$arr[stu_id]' ></td>
<td><input name='stu_name[]' type='text' id='stu_name' value='$arr[stu_name]' ></td>
<td><input name='stu_lname[]' type='text' id='stu_lname' value='$arr[stu_lname]' ></td>
<td><input name='room_id[]' type='text' id='room_id' size='10' value='$arr[room_id]' ></td>
<td><input name='inclass_id[]' type='text' id='inclass_id' size='10' value='$arr[inclass_id]' ></td>
</tr>";
}
}
}
//////////////////////////////////////////////////////////////////////////////////////
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#dateInput").datepicker();
});
</script>
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<script type="text/javascript">
$(function(){
// แทรกโค้ต jquery
$("#dateInput").datepicker();
$("#txtKeyword2").datepicker({ dateFormat: 'yy-mm-dd' });
$("#txtKeyword3").datepicker({ dateFormat: 'yy-mm-dd' });// รูปแบบวันที่ที่ได้จะเป็น 2009-08-16
});
</script>
<style type="text/css">
.ui-datepicker{
width:220px;
font-family:tahoma;
font-size:11px;
text-align:center;
}
</style>
<head>
<meta charset="UTF-8">
<title>.:: ระบบบริหารจัดการศูนย์พัฒนาเด็กเล็ก ::.</title>
<meta name="robots" content="index, follow" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<style type="text/css">
<!--
.style1 {font-size: 16px}
.style2 {font-size: 14px}
-->
</style>
<body>
<form name="frmSearch" method="post" action="">
<table>
<tr>
<td align="right"><strong>ระดับชั้น:</strong></td>
<td><select name="txtKeyword1"><option>--เลือก--</option><?=$opt_keyword?></select></td>
</tr>
<tr>
<td align="right"><strong>ประจำวันที่:</strong></td>
<td><input name="txtKeyword2" type="text" id="txtKeyword2" /> <strong>ถึง</strong>
<input name="txtKeyword3" type="text" id="txtKeyword3" /><input type="submit" value="Search"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="right"> </td>
<td><strong>สรุป</strong> มา<input type="text" size="5" value="<? echo $row1[0] ; ?>">คน</td>
</tr>
<tr>
<td align="right"> </td>
<td> ลา<input type="text" size="5" value="<? echo $row2[0] ; ?>">คน</td>
</tr>
<tr>
<td align="right"> </td>
<td> ขาด<input type="text" size="5" value="<? echo $row3[0] ; ?>">คน<td>
</tr>
</table>
<br>
<table width="800" border="0">
<tr bgcolor="#0099FF">
<th width="91"> <div align="center">วันที่ </div></th>
<th width="91"> <div align="center">รหัสนักเรียน </div></th>
<th width="98"> <div align="center">ชื่อ </div></th>
<th width="98"> <div align="center">นามสกุล </div></th>
<th width="98"> <div align="center">ระดับชั้น </div></th>
<th width="98"> <div align="center">สถานะ </div></th>
</tr>
<?=$arr_tr?>
</table>
</form>
</body></html>
Date :
2014-11-08 21:30:28
By :
llooll
Code (PHP)
/////////////////////////////// นับจำนวนนักเรียนที่ มาเรียน /////////////////////////////////
$result = mysql_query("
SELECT COUNT(*) FROM `attendance`
WHERE `inclass_id` = '901'
AND room_id LIKE '%$txtKeyword1%'
AND date BETWEEN '$txtKeyword2' AND '$txtKeyword3'
");
$row1 = mysql_fetch_row($result);
เห็นนับจำนวนนักเรียนมันอยู่ใน while loop
น่าจะเป็นแบบข้างบนนี้หรือเปล่าครับ
Date :
2014-11-08 21:45:38
By :
Chaidhanan
ได้แล้ว ค่ะ ชอบคุณมากๆๆเลยค่ะ ที่ช่วยดูให้ มาโดยตลอด ขอบคุณจิงๆๆเลยค่ะ
Date :
2014-11-08 21:55:28
By :
llooll
Load balance : Server 00