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 > ต้องการค้นหาแบบ date rang และ keywords พร้อมกันช่วยแนะนำหน่อยครับ



 

ต้องการค้นหาแบบ date rang และ keywords พร้อมกันช่วยแนะนำหน่อยครับ

 



Topic : 137236



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



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




aa

จากรูปต้องการค้นหาด้วย สองเงื่อนไข เช่น เลือก filter วันที่ก่อน แล้วค่อยมาเลือก filter text อีกที ช่วยแนะนำ code หน่อยครับ ตอนนี้สามารถ filter date range ได้แล้ว แต่พอจะใส่อีกข้อมูลอีกอันระบบไม่รันให้

code ที่ใช้ ปัจจุบัน

Code (PHP)
<?php
	ini_set('display_errors', 1);
	error_reporting(~0);

	$key = null;

	if(isset($_POST["txtKeyword"]))
	{
		$key = $_POST["txtKeyword"];
	}

    isset( $_POST['date1'] ) ? $date1 = $_POST['date1'] : $date1 = "";
    isset( $_POST['date2'] ) ? $date2 = $_POST['date2'] : $date2 = "";
    

?>
<form name="frmSearch" method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
  <table width="500" border="0">
    
    <tr>
    <b>วันที่</b>
    <input type="date" name="date1"> 
    <b>ถึง</b>
    <input type="date" name="date2">
      <th>Keyword
      <input name="txtKeyword" type="text" id="txtKeyword" value="<?php echo $key;?>">
      <input type="submit" value="Search"></th>
    </tr>
  </table>
</form>

<?php

   $serverName = "localhost";
   $userName = "root";
   $userPassword = "";
   $dbName = "workshop_pdo";

   $conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
	
   $sql = "SELECT * FROM tbl_order WHERE product_name LIKE '%".$key."%' AND order_date BETWEEN '{$date1}' AND '{$date2}'";

   $query = mysqli_query($conn,$sql);

?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">NO</div></th>
    <th width="98"> <div align="center">product_name </div></th>
    <th width="198"> <div align="center">PRICE </div></th>
    <th width="97"> <div align="center">ODERDATE </div></th>
    
  </tr>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
  <tr>
    <td><div align="center"><?php echo $result["no"];?></div></td>
    <td><?php echo $result["product_name"];?></td>
    <td><?php echo $result["price_total"];?></td>
    <td><div align="center"><?php echo $result["order_date"];?></div></td>
    <
  </tr>
<?php
}
?>
</table>
<?php
mysqli_close($conn);
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2025-02-04 21:57:30 By : tharakorn.jin View : 160 Reply : 11
 

 

No. 1



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



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

ืทำไม ยังเขียน Code php ไม่ถูก Syntax หากนำ
ni_set('display_errors', 1);
error_reporting(~0);

เอาออก เชื่อได้ว่า Errors

หัดเขียนรูปแบบ OOP Class function

หรือ การ รับส่ง action จาก Form และ รับการ $_POST and $_GET ด้วย .

ex: post["ok"] ให้ ทำอะไร

if(isset($_POST["ok"]))

{

do something .............. ( insert , select , update , Delete )

}






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-05 08:54:06 By : Hararock
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Hararock เมื่อวันที่ 2025-02-05 08:54:06
รายละเอียดของการตอบ ::

เรื่องหัดเขียน เดี่ยวผมลองศึกษาดูครับ คุณ Hararock

มีตัวอย่างจากลิ้งอื่นให้ดูหรือศึกษาไหมครับ กับการใช้งาน filter ทั้ง date และ keyword





ประวัติการแก้ไข
2025-02-05 13:07:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-05 12:57:42 By : tharakorn.jin
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : Hararock เมื่อวันที่ 2025-02-05 08:54:06
รายละเอียดของการตอบ ::
หนังสือยังคงสอนธรรมดา หนังสือ OOP ก็อ่านแล้วยาก
หน่วยงานที่ผมทำงาน ผู้สอนก็ยังสอนพื้นฐาน ไม่ได้กระโดดไป OOP
แต่ถ้าสาย IT โปรแกรมเมอร์จากคณะทาง IT น่าจะสอน OOP
อยู่ที่ว่าผู้ถามเรียน อ่าน พบเจอแบบไหนมา

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-07 09:28:26 By : ผ่านมา
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : tharakorn.jin เมื่อวันที่ 2025-02-05 12:57:42
รายละเอียดของการตอบ ::

keyword :: php curd oop class function ajax jquery sweet alert bootstrap html5

ตัวอย่าง มีมากมาย ต่อยอดได้เยอะ เขียนระบบ เร็ว แยกแยะ ออกได้ง่าย Font , Backend , Script , class Function

ต่อยอด Framework Laravel , Node Js , etc .... อีกเยอะ

2025 แล้ว เห็น code นืกว่า ปี 2012

ลอง+++ แนว OOP หน่อย


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-08 09:16:59 By : Hararock
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Hararock เมื่อวันที่ 2025-02-08 09:16:59
รายละเอียดของการตอบ ::

ผมเข้าใจสิ่งที่คุณ Hararock กำลังจะสื่อสารกับผมหรือแนะนำน่ะ งานที่เกี่ยวกับผมโดยตรงคือ network และ vmware server cyber security พวกนั้น ไม่เกี่ยวกับการเขียนโปรแกรมโดยตรงเลย ผมแค่มีพื้นฐานไม่ได้เก่งแค่พอจะเข้าใจ และก็ลองเขียนโปรแกรมตาม webboard แห่งนี้สอน พอเขียนและติดปัญหาบางอย่างก็เลยตั้งกระทู้นำ code มาวาง เพื่อที่จะหาคนที่เขามีความสามารถเก่งกว่าผมช่วยตรวจสอบและแก้ไข code ก็เท่านั้นครับ


แต่ที่คุณ Hararock มาตอบคือการมาแนะแนวทางครับ ไม่ได้ช่วยแก้ไขปัญหา ณ ตอนนั้นครับ เพราะการเข้าใจแต่ละคนไม่เท่ากัน ถ้าเจอสิ่งที่ต้องไปเรียนรู้ที่ซับซ้อนมากและไม่เข้าใจ แทนที่ code มันจะจบ กลับใช้เวลานานขึ้นกว่าเดิม *** การชี้แนะในสิ่งที่ดีมันดีแล้วครับเจตนาของคุณผมเข้าใจ webboard แห่งนี้ ก็เหมือน stack over flow นั้นแหละครับ ใครติดปัญหาอะไรก็ตั้งคำถามเดี่ยวก็จะมีคนที่เขาถนัดและเก่งกว่ามาช่วยตอบ จนคนนั้น success ผมว่ามันน่าภูมิใจน่ะครับที่แก้ไข code ให้คนที่เขาติดปัญหาจนสำเร็จ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-08 21:49:45 By : tharakorn.jin
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : tharakorn.jin เมื่อวันที่ 2025-02-08 21:49:45
รายละเอียดของการตอบ ::
อันที่จริง ผมแนะแนวครับ เรื่องแก้ไข code ผมไม่อยากช่วย เคยช่วยมาเป็น 100 กว่าคนแล้ว code ที่คุณ ถาม มันดู ไม่อัพเดท และ ไม่ Un safe and Not Correct Syntax in php

Code คุณ ผมแก้ได้ใน 3 นาที ยังทำได้ แต่ผมสื่อ ให้คุณ เขียนให้ถูก Syntax
หน้า HTML ก็บ้านๆ Action จาก From ก็งั้นๆ ไม่มีการ Check action from post และยังใช้
ini_set('display_errors', 1); error_reporting(~0); แบบนี้ไม่ครวทำครับ

ก่อนจะถืง code SQL ก็ไม่ มีอะไร Checking ว่าเกีด Action อะไรมา ค่อยได้ข้อมูล จาก SQL และ fetch row ออกมา

BETWEEN มันไม่ดี ใช้ DateStart >= DateEnd ยังดีกว่า , BETWEEN ไม่ Ok ข้อมูลไม่ตรง ตาม SQL

หากคุณยังคิดที่จะ อยู่แบบเดิม เขียน code แบบผิดๆ Syntax คุณก็อยู่ใน Safe zone ของตัวเองไปเถิด เป็น workshop ทำเล่นๆ ก็ได้แค่นั้น


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-10 11:51:42 By : Hararock
 


 

No. 7



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

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

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

โค้ดนี้มีความเสี่ยงจาก SQL Injection ถ้าหาก $key, $date1, $date2 เป็นค่าที่รับมาจากผู้ใช้โดยตรง

วิธีแก้ไข: ใช้ Prepared Statements เพื่อป้องกัน SQL Injection
แก้ไขโค้ดให้ปลอดภัยโดยใช้ PDO

Code (PHP)
$stmt = $pdo->prepare("SELECT * FROM tbl_order 
                      WHERE product_name LIKE ? 
                      AND order_date BETWEEN ? AND ?");
$stmt->execute(["%{$key}%", $date1, $date2]);
$orders = $stmt->fetchAll();


การใช้ BETWEEN กับ DATE ถ้าต้องการค้นหาข้อมูลที่เป็น วันทั้งหมดของช่วงเวลา ควรเพิ่มเวลา "23:59:59" ใน $date2 เพื่อให้รวมทั้งวันสุดท้ายด้วย

Code (PHP)
$stmt = $pdo->prepare("SELECT * FROM tbl_order 
                      WHERE product_name LIKE ? 
                      AND order_date BETWEEN ? AND ?");
$date2 = $date2 . ' 23:59:59'; // เพิ่มเวลาให้เต็มวัน
$stmt->execute(["%{$key}%", $date1, $date2]);
$orders = $stmt->fetchAll();

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-11 16:33:37 By : Manussawin
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : Hararock เมื่อวันที่ 2025-02-10 11:51:42
รายละเอียดของการตอบ ::

ขอบคุณมากครับ ถ้ามีเวลาผมจะพยายามศึกษาตามที่คุณ hararock แนะนำครับ แต่อยากให้มันจบกระบวนการทำงานก่อน ถ้าผมมีเวลาก็จะหาเวลาศึกษาแล้วลองเขียนใหม่ดูครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-14 11:09:11 By : tharakorn.jin
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Manussawin เมื่อวันที่ 2025-02-11 16:33:37
รายละเอียดของการตอบ ::

ขอบคุณมากครับเดี่ยวผมลองปรับแก้ไขดู


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-14 11:12:21 By : tharakorn.jin
 


 

No. 10



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



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


https://www.thaicreate.com/php/forum/137187.html
กระทู้เก่าก็เคยแนะนำเรื่อง sql injection ไปแล้วทำไมยังวกกลับมาทำแบบเดิมๆเปิดความเสี่ยงอันตราย โดยไม่ได้พัฒนาขึ้นล่ะ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-16 05:14:01 By : mr.v
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : mr.v เมื่อวันที่ 2025-02-16 05:14:01
รายละเอียดของการตอบ ::

code ที่ลองใส่คือค้นหาตามกระทู้เก่าๆเฉยๆครับ เดี่ยวผมจะเอามาปรับแก้ไขเพิ่มเติมครับเพื่อให้มันเป็น code ใหม่มากขึ้น



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2025-02-25 22:43:03 By : tharakorn.jin
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการค้นหาแบบ date rang และ keywords พร้อมกันช่วยแนะนำหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่