Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ค้นหาแบบ วนลูปแล้ว วันเจอซ้ำนำมาโชว์ครับ



 

ค้นหาแบบ วนลูปแล้ว วันเจอซ้ำนำมาโชว์ครับ

 



Topic : 124931



โพสกระทู้ ( 370 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนด้วยครับ ขอบคุณครับ
hh



Tag : PHP, Ms SQL Server 2008









ประวัติการแก้ไข
2016-10-12 18:44:37
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-10-12 17:49:12 By : pissanu8970 View : 785 Reply : 6
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ถามก็บ่อย ไม่น่าจะลืม ช่วยเอา code ใส้ tag PHP ด้วยครับ อ่านไม่รู้เรื่อง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-12 18:15:15 By : apisitp
 


 

No. 2



โพสกระทู้ ( 370 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษทีครับ

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">
        &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;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
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ก็ต้องถามกลับมา คุณส่งค่า เดือน-ปี มาแบบนั้น ดูจากเงื่อนไขการค้นหาเวลา น่าจะอยู่ที่บรรทัด 104 อ่ะพักไว้ก่อน
ต้องถามกลับว่า แล้วรูปแบบ วัน-เดือน-ปี ที่เก็บในตารางฟิลด์ที่ชื่อว่า STDATE คุณเก็บด้วยชนิดข้อมูลแบบไหน

ถ้า STDATE ถูกเก็บตามรูปแบบ date หรือ datetime การส่งค่าแค่ไปค้นหา มีแค่ เดือน-ปี มันคงใช้ = ตามบรรทัดที่ 104 ไม่ได้ครับ

ลองทดสอบอย่างง่าย เข้าไปที่ phpmyadmin ของคุณ เลือกฐานข้อมูล เลือกตารางข้อมูล กด search/ค้นหา
มันก็จะขึ้นช่องมาให้กรอกมากมาย จากนั้นเลือกกรอกข้อมูลที่ฟิลด์ STDATE ทดสอบกรอกข้อมูลลงไป เปลี่ยนเครื่องหมาย operater ลอง = like %like% แล้วดูผลลัพธ์ว่า เครื่องหมายไหน คีเวิร์ดแบบใด มันให้คำตอบตรงใจ

ถ้าได้แล้ว ก็ดูรูปแบบ คำสั่ง query ที่มันสร้างออกมาให้ เอามาเทียบ มาปรับ ใช้เป็นของเราเอง

ถ้าการทดสอบค้นหามันเป็นตามที่คิด ได้ผลตามที่ต้องการ การ while ค่ามาแสดงคงไม่ใช่เรื่องยากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-13 09:16:19 By : apisitp
 


 

No. 4



โพสกระทู้ ( 370 )
บทความ ( 0 )



สถานะออฟไลน์


ผมอยากให้ครงนี้ ลูปออกมา แค่ 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
 


 

No. 5



โพสกระทู้ ( 370 )
บทความ ( 0 )



สถานะออฟไลน์


ได้ล่ะครับ


Code
for($i=1;$i<=31;$i++) { if($i==31) { break; }


นึวกว่าได้แต่ไม่ใช่อีก


ประวัติการแก้ไข
2016-10-13 13:11:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-13 13:08:31 By : pissanu8970
 


 

No. 6



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ถ้าคุณทำตาม ทดสอบ ตามที่ผมบอก คุณก็ได้คำตอบครับ คุณลองทำตามแล้วตอบตัวเองเป็นข้อๆ ดูครับ

คุณรับค่ามาวน 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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ค้นหาแบบ วนลูปแล้ว วันเจอซ้ำนำมาโชว์ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่