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,038

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


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

 
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 : 868 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)
001.<?php
002. 
003. include '../connect/connect.php';        
004.    $params = array();
005.    $options array( "Scrollable" => SQLSRV_CURSOR_KEYSET );  
006.?>
007.<form name="frmSearch" method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
008.  <table width="428" border="0" align="left">
009.    <tr>
010.      <th width="422" height="117">
011.        &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"]?>">
012.          <input name="Submit" type="submit" value="Search">
013.        </th>
014.    </tr>
015.  </table>
016.</form>
017.<form method="post" action="guest_info.php">
018.<table width="1222" border="1"cellspacing="0" bordercolor="#003300">
019.  <tr>
020.    <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>
021.    <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>
022.    <td bordercolor="rgb(0,142,0)" colspan="2" align="center" bgcolor="#EAF1DD"><h4><font size="2" color="#008000">Time</font></h4></td>
023.    <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>
024.    <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>
025.    <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>
026.    <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>
027.    <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>
028.    <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>
029.    <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>
030.    <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>
031.  </tr>
032.  <tr>
033.    <td bordercolor="rgb(0,142,0)" width="60"align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2"color="#008000">Start</font></h4></td>
034.    <td bordercolor="rgb(0,142,0)" width="85"align="center" valign="center" bgcolor="#EAF1DD"><h4><font size="2"color="#008000">Finish</font></h4></td>
035.    </tr>
036.<?php
037.$span=0;
038.$filt = $_POST["txtKeyword"];
039.if($filt==NULL)
040.{
041.    $strSQL = "SELECT * FROM guest ORDER BY guest_id DESC";
042.    $query = sqlsrv_query($conn,$strSQL);
043.    while($result = sqlsrv_fetch_array($query))
044.        {
045.            ?>
046.            <tr>
047.            <?php
048.            if($span==0)
049.                {
050.                    $sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
051.                    /*$stmt = "SELECT * FROM admin WHERE  (id LIKE '%".$strKeyword."%' or docdate LIKE '%".$strKeyword."%'or refno LIKE '%".$strKeyword."%')AND status = 1";*/
052.                    $queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);  
053.                    $num_rows_span=sqlsrv_num_rows($queryspan);
054.                                    ?>
055.               <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>
056.                <?php
057.                }
058.                ?>  
059.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo date_format($result["STDATE"],'d-m-Y');?></div></font></td>
060.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["STTIME"];?></div></td>
061.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FNTIME"];?></div></td>
062.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FAC"];?></div></font></td>
063.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["ROOM"];?></div></font></td>
064.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["COMPANY"];?></div></font></td>
065.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["NUMBER"];?></div></font></td>
066.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["PIC"];?></div></font></td>
067.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["VIP"];?></div></font></td>
068.            <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["REMARK"];?></div></font></td>
069.            <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>
070.            </tr>
071.            <?php
072.            $span=$span+1;
073.            if ($span ==$num_rows_span)
074.                $span=0;
075.        }
076.}
077.else
078.{
079.    if($filt[2]=="/")
080.    {
081.        $month=strstr($filt, '/', true);
082.        $year=substr(strstr($filt, '/', false),1);
083.    }
084.    else if($filt[2]=="-")
085.    {
086.        $month=strstr($filt, '-', true);
087.        $year=substr(strstr($filt, '-', false),1);
088.    }  
089.    else if($filt[4]=="/")
090.    {
091.        $year=strstr($filt, '/', true);
092.        $month=substr(strstr($filt, '/', false),1);
093.    }   
094.    else if($filt[4]=="-")
095.    {
096.        $year=strstr($filt, '-', true);
097.        $month=substr(strstr($filt, '-', false),1);
098.    }
099.    $search=$year."-".$month;
100.    for($i=1;$i<=31;$i++)
101.    {
102.        $strKeyword=$search."-".$i;
103. 
104.            $strSQL = "SELECT * FROM guest where STDATE = '".$strKeyword."' ORDER BY guest_id DESC";
105.         
106.        /*$strSQL = "SELECT * FROM guest where gs_id LIKE '%".$strKeyword."%' ORDER BY gs_id DESC";*/
107.        $query = sqlsrv_query($conn,$strSQL,$params,$options);
108.        $num_row=sqlsrv_num_rows($query);
109.        if($num_row>0)
110.        {
111.            while($result = sqlsrv_fetch_array($query))
112.            {
113.                ?>
114.                <tr>
115.                <?php
116.                if($span==0)
117.                    {
118.                        $sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
119.                        $queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);  
120.                        $num_rows_span=sqlsrv_num_rows($queryspan);
121.                                        ?>
122.                   <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>
123.                    <?php
124.                    }
125.                    ?>  
126.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo date_format($result["STDATE"],'d-m-Y');?></div></td>
127.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["STTIME"];?></div></td>
128.                <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>
129.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["FAC"];?></div></font></td>
130.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["ROOM"];?></div></font></td>
131.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["COMPANY"];?></div></font></td>
132.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["NUMBER"];?></div></font></td>
133.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["PIC"];?></div></font></td>
134.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["VIP"];?></div></font></td>
135.                <td bordercolor="rgb(0,142,0)"><div align="center"><font size="2"><?php echo $result["REMARK"];?></div></font></td>
136.                <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>
137.                </tr>
138.                <?php
139.                $span=$span+1;
140.                if ($span ==$num_rows_span)
141.                    $span=0;
142.            }
143.        }
144.    }  
145.}
146. 
147. 
148. 
149.//$year
150.?>
151.</table>
152.</form>
153.<table width="1158" border="0">
154.  <tr>
155.    <td align="right"><a href="admin_manage.php"> <img src="img/Guestbook.jpg" width="51" height="36"></a></td>
156.  </tr>
157.</table>
158.<br>
159.<br><br><br><br><br><br><br><br>
160.<br><br><br><br><br><br><br>
161.  </head>
162.  </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)
01.for($i=1;$i<=31;$i++)
02.{
03.    $strKeyword=$search."-".$i;
04. 
05.        $strSQL = "SELECT * FROM guest where STDATE = '".$strKeyword."' ORDER BY guest_id DESC ";
06.     
07.    /*$strSQL = "SELECT * FROM guest where gs_id LIKE '%".$strKeyword."%' ORDER BY gs_id DESC";*/
08.    $query = sqlsrv_query($conn,$strSQL,$params,$options);
09.    $num_row=sqlsrv_num_rows($query);
10.    if($num_row>0)
11.    {
12.        while($result = sqlsrv_fetch_array($query))
13.        {
14.            ?>
15.            <tr>
16.            <?php
17.            if($span==0)
18.                {
19.                    $sqlspan="select * from guest where GUEST_ID=".$result['GUEST_ID']."";
20.                    $queryspan=sqlsrv_query($conn,$sqlspan,$params,$options);  
21.                    $num_rows_span=sqlsrv_num_rows($queryspan);
22.                                    ?>
23.               <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>
24.                <?php
25.                }
26.                ?>  

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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