|
|
|
ค้นหาแบบ วนลูปแล้ว วันเจอซ้ำนำมาโชว์ครับ |
|
|
|
|
|
|
|
ถามก็บ่อย ไม่น่าจะลืม ช่วยเอา code ใส้ tag PHP ด้วยครับ อ่านไม่รู้เรื่อง
|
|
|
|
|
Date :
2016-10-12 18:15:15 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษทีครับ
Code (PHP)
<?php
include '../connect/connect.php';
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
?>
<form name="frmSearch" method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<table width="428" border="0" align="left">
<tr>
<th width="422" height="117">
Month - Year <input name="txtKeyword" type="text" id="txtKeyword" value="<?php error_reporting(0);echo $_POST["txtKeyword"]?>">
<input name="Submit" type="submit" value="Search">
</th>
</tr>
</table>
</form>
<form method="post" action="guest_info.php">
<table width="1222" border="1"cellspacing="0" bordercolor="#003300">
<tr>
<td bordercolor="rgb(0,142,0)" width="66" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size ="2" color="#008000" >No</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="89" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Date</font></h4></td>
<td bordercolor="rgb(0,142,0)" colspan="2" align="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Time</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="72" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Fac</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="85" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Room</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="159"rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Company Name</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="66" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Number</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="84" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">PIC</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="88" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">VIP</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="154"rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Remark</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="98" rowspan="2" align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Route</font></h4></td>
</tr>
<tr>
<td bordercolor="rgb(0,142,0)" width="60"align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2"color="#008000">Start</font></h4></td>
<td bordercolor="rgb(0,142,0)" width="85"align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2"color="#008000">Finish</font></h4></td>
</tr>
<?php
$span=0;
$filt = $_POST["txtKeyword"];
if($filt==NULL)
{
$strSQL = "SELECT * FROM guest ORDER BY guest_id DESC";
$query = sqlsrv_query($conn,$strSQL);
while($result = sqlsrv_fetch_array($query))
{
?>
<tr>
<?php
if($span==0)
{
$sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
/*$stmt = "SELECT * FROM admin WHERE (id LIKE '%".$strKeyword."%' or docdate LIKE '%".$strKeyword."%'or refno LIKE '%".$strKeyword."%')AND status = 1";*/
$queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);
$num_rows_span=sqlsrv_num_rows($queryspan);
?>
<td bordercolor="rgb(0,142,0)" rowspan="<?php echo $num_rows_span; ?>"><div align="center"><font size="2"><?php echo$result["GUEST_ID"];?></div></font></td>
<?php
}
?>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo date_format($result["STDATE"],'d-m-Y');?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["STTIME"];?></div></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FNTIME"];?></div></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FAC"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["ROOM"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["COMPANY"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["NUMBER"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["PIC"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["VIP"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["REMARK"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><a href="../announce/PDF/<?php echo $result["ROUT"].".pdf";?>"><?php echo $result["ROUT"];?></div></font></a></td>
</tr>
<?php
$span=$span+1;
if ($span ==$num_rows_span)
$span=0;
}
}
else
{
if($filt[2]=="/")
{
$month=strstr($filt, '/', true);
$year=substr(strstr($filt, '/', false),1);
}
else if($filt[2]=="-")
{
$month=strstr($filt, '-', true);
$year=substr(strstr($filt, '-', false),1);
}
else if($filt[4]=="/")
{
$year=strstr($filt, '/', true);
$month=substr(strstr($filt, '/', false),1);
}
else if($filt[4]=="-")
{
$year=strstr($filt, '-', true);
$month=substr(strstr($filt, '-', false),1);
}
$search=$year."-".$month;
for($i=1;$i<=31;$i++)
{
$strKeyword=$search."-".$i;
$strSQL = "SELECT * FROM guest where STDATE = '".$strKeyword."' ORDER BY guest_id DESC";
/*$strSQL = "SELECT * FROM guest where gs_id LIKE '%".$strKeyword."%' ORDER BY gs_id DESC";*/
$query = sqlsrv_query($conn,$strSQL,$params,$options);
$num_row=sqlsrv_num_rows($query);
if($num_row>0)
{
while($result = sqlsrv_fetch_array($query))
{
?>
<tr>
<?php
if($span==0)
{
$sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
$queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);
$num_rows_span=sqlsrv_num_rows($queryspan);
?>
<td bordercolor="rgb(0,142,0)" rowspan="<?php echo $num_rows_span; ?>"><div align="center"><font size="2"><?php echo$result["GUEST_ID"];?></div></font></td>
<?php
}
?>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo date_format($result["STDATE"],'d-m-Y');?></div></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["STTIME"];?></div></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo date_format($result["FNDATE"],'d-m-Y')." ".$result["FNTIME"];?></div></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FAC"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["ROOM"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["COMPANY"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["NUMBER"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["PIC"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["VIP"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["REMARK"];?></div></font></td>
<td bordercolor="rgb(0,142,0)"><div align="center"><a href="../PDF/<?php echo $result["ROUT"].".pdf";?><font size="2"><?php echo $result["ROUT"];?></div></font></a></td>
</tr>
<?php
$span=$span+1;
if ($span ==$num_rows_span)
$span=0;
}
}
}
}
//$year
?>
</table>
</form>
<table width="1158" border="0">
<tr>
<td align="right"><a href="admin_manage.php"> <img src="img/Guestbook.jpg" width="51" height="36"></a></td>
</tr>
</table>
<br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br>
</head>
</table>
|
ประวัติการแก้ไข 2016-10-12 18:37:52 2016-10-12 18:40:27 2016-10-12 18:41:14 2016-10-12 18:46:42 2016-10-12 18:47:09
|
|
|
|
Date :
2016-10-12 18:36:21 |
By :
pissanu8970 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ต้องถามกลับมา คุณส่งค่า เดือน-ปี มาแบบนั้น ดูจากเงื่อนไขการค้นหาเวลา น่าจะอยู่ที่บรรทัด 104 อ่ะพักไว้ก่อน
ต้องถามกลับว่า แล้วรูปแบบ วัน-เดือน-ปี ที่เก็บในตารางฟิลด์ที่ชื่อว่า STDATE คุณเก็บด้วยชนิดข้อมูลแบบไหน
ถ้า STDATE ถูกเก็บตามรูปแบบ date หรือ datetime การส่งค่าแค่ไปค้นหา มีแค่ เดือน-ปี มันคงใช้ = ตามบรรทัดที่ 104 ไม่ได้ครับ
ลองทดสอบอย่างง่าย เข้าไปที่ phpmyadmin ของคุณ เลือกฐานข้อมูล เลือกตารางข้อมูล กด search/ค้นหา
มันก็จะขึ้นช่องมาให้กรอกมากมาย จากนั้นเลือกกรอกข้อมูลที่ฟิลด์ STDATE ทดสอบกรอกข้อมูลลงไป เปลี่ยนเครื่องหมาย operater ลอง = like %like% แล้วดูผลลัพธ์ว่า เครื่องหมายไหน คีเวิร์ดแบบใด มันให้คำตอบตรงใจ
ถ้าได้แล้ว ก็ดูรูปแบบ คำสั่ง query ที่มันสร้างออกมาให้ เอามาเทียบ มาปรับ ใช้เป็นของเราเอง
ถ้าการทดสอบค้นหามันเป็นตามที่คิด ได้ผลตามที่ต้องการ การ while ค่ามาแสดงคงไม่ใช่เรื่องยากครับ
|
|
|
|
|
Date :
2016-10-13 09:16:19 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมอยากให้ครงนี้ ลูปออกมา แค่ 1 รอบ โดยไม่ต้องนับ 1-31 นะครับ
Code (PHP)
for($i=1;$i<=31;$i++)
{
$strKeyword=$search."-".$i;
$strSQL = "SELECT * FROM guest where STDATE = '".$strKeyword."' ORDER BY guest_id DESC ";
/*$strSQL = "SELECT * FROM guest where gs_id LIKE '%".$strKeyword."%' ORDER BY gs_id DESC";*/
$query = sqlsrv_query($conn,$strSQL,$params,$options);
$num_row=sqlsrv_num_rows($query);
if($num_row>0)
{
while($result = sqlsrv_fetch_array($query))
{
?>
<tr>
<?php
if($span==0)
{
$sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
$queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);
$num_rows_span=sqlsrv_num_rows($queryspan);
?>
<td bordercolor="rgb(0,142,0)" rowspan="<?php echo $num_rows_span; ?>"><div align="center"><font size="2"><?php echo$result["GUEST_ID"];?></div></font></td>
<?php
}
?>
|
|
|
|
|
Date :
2016-10-13 11:20:22 |
By :
pissanu8970 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าคุณทำตาม ทดสอบ ตามที่ผมบอก คุณก็ได้คำตอบครับ คุณลองทำตามแล้วตอบตัวเองเป็นข้อๆ ดูครับ
คุณรับค่ามาวน 1 - 31 แล้วเดือนที่มี 30 วันล่ะ ทำไง ....
จะ search จะค้นหาอะไรที่เกี่ยวกับเวลา มันก็ต้องมองชนิดของฟิลด์เป็นเวลา ค่าที่ส่งไปก็เป็นเวลา ถ้ารูปแบบมาถูกต้อง จะ search อะไรก็ง่าย
ถึงบอกให้ไปลองเล่นกับ phpmyadmin มันเป็นครูชั้นดี มันจะได้คำสั่งคิวรี่ มันจะเห็นรูปแบบที่ถูกต้องครับ
ลองดูรูปแบบ SQL MYSQL DATE_FORMAT
Go to : SQL MYSQL DATE_FORMAT
|
|
|
|
|
Date :
2016-10-13 15:36:35 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|