PHP + MySQL อยากทำ search แบบ Dropdown list เลือกจาก Field และสามารถใส keyword ได้ด้วย พอจะมีโค๊ด ไหมคะ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Select
<select name="ddlSelect" id="ddlSelect">
<option>- Select -</option>
<option value="CustomerID" <?if($_POST["ddlSelect"]=="CustomerID"){echo"selected";}?>>CustomerID</option>
<option value="Name" <?if($_POST["ddlSelect"]=="Name"){echo"selected";}?>>Name</option>
<option value="Email" <?if($_POST["ddlSelect"]=="Email"){echo"selected";}?>>US</option>
</select>
Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
// Search By Name or Email
$strSQL = "SELECT * FROM customer WHERE 1 ";
if($_POST["ddlSelect"] != "" and $_POST["txtKeyword"] != '')
{
$strSQL .= " AND (".$_POST["ddlSelect"]." LIKE '%".$_POST["txtKeyword"]."%' ) ";
}
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["CustomerID"];?></div></td>
<td><?=$objResult["Name"];?></td>
<td><?=$objResult["Email"];?></td>
<td><div align="center"><?=$objResult["CountryCode"];?></div></td>
<td align="right"><?=$objResult["Budget"];?></td>
<td align="right"><?=$objResult["Used"];?></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
</body>
</html>
เขียนให้เลยครับ
Date :
2011-09-26 16:37:28
By :
webmaster
$strSQL = "SELECT * FROM customer WHERE 1 "; คืออะไรครับ
Date :
2011-09-30 10:25:13
By :
จอช
สุดท้ายก็ไม่ได้สินะ
ประวัติการแก้ไข 2012-02-02 01:47:29 2012-02-06 07:19:38
Date :
2012-02-02 01:46:05
By :
FillixTH
รบกวนใส่แบ่งหน้าให้ผมทีครับพี่ ^^
Date :
2012-02-02 13:18:42
By :
FillixTH
ถ้าสองตารางละครับบ join กันน่ะ
Date :
2012-02-27 00:41:51
By :
ron_it
JOIN กันปกติครับ
Go to : SQL LEFT JOIN
Date :
2012-02-27 06:44:20
By :
webmaster
Code (PHP)
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("muslim");
$strSQL = "SELECT * FROM activity AS a LEFT JOIN member AS b ON(a.mem_id=b.mem_id) where Calen_id ='$Id'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
ไม่ทราบว่าต้องทำไงหรอครับ คือ ผมอยากแทรก โค้ดค้นหาแบบเลือก แต่ผม join ตารางแล้ว
Date :
2012-02-27 12:36:42
By :
ron_it
พี่ครับ ขอโค้ด search แบบ Dropdown list และสามารถใส keyword ได้ด้วย พอจะมีโค๊ด ที่เป็น ภาษา C# ไหมครับ
รบกวนด้วนครับ
Date :
2012-03-22 18:51:57
By :
ธีม
mr.win คะ คือลองเอาโค้ดไปรันดูแล้วมันแสดงข้อมูลทั้งหมดก่อน search อ่ะคะ ต้องแก้ตรงไหนคะ
Date :
2012-03-31 00:34:43
By :
Butter
ผมเอาไปทำแล้วขี้น แบบนี้ทำไงดีครับ
Date :
2012-06-07 16:32:53
By :
keekkeek
Code (PHP)
<html>
<head>
<title>Search</title>
</head>
<body>
<form name="Search" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Keyword
<input name="search" type="text" id="search" value="<?=$_GET["search"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?php
if($_GET["search"] != "")
{
// Search By Name or phone
include ("config.php");
$dbname = "SELECT * FROM teacher WHERE (name LIKE '%".$_GET["search"]."%' or phone LIKE '%".$_GET["search"]."%' )";
$passwd = mysql_query($dbname) or die ("Error Query [".$dbname."]");
$sql=mysql_db_query($dbname, $sql);
?>
code ครับ
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">Name </div></th>
<th width="98"> <div align="center">Level </div></th>
<th width="198"> <div align="center">Phone </div></th>
</tr>
<?
while ($array = mysql_fetch_array($dbname))
{
?>
<tr>
<td><div align="center"><?=$array["name"];?></div></td>
<td><?=$array["level"];?></td>
<td><?=$array["phone"];?></td>
</tr>
<?
}
?>
</table>
<?
mysql_close();
}
?>
</body>
</html>
Date :
2012-06-07 16:34:27
By :
keekkeek
พี่คะ รบกวนเพิ่มโค้ด ค้นหาจากอักษรตัวแรกของชื่อไดเมั๊ยคะ แบบนี้อะคะ
A | B | C | ..... พอ กด A ชื่อที่ มี อักษร A นำหน้า ก็เรียงขึ้นมา อะคะ ช่วยหนูด้วย หนูทำไม่ได้จริง ๆ ขอบคุณมากคะ
Date :
2012-08-06 23:09:38
By :
บิ๋ม
และถ้าผมมีฟอร์มแบบ คนแรก ไฟล์ index.php คือเลือกประเภทและใส่คีย์เวิร์ด เมื่อกดค้นหา ผมจะให้ไปแสดงผลลัพธ์อีกหน้า search.php ต้องแก้โค๊ดส่วนไหนคับ
Date :
2013-02-02 13:35:50
By :
boyunder
ตรง
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
เปลี่ยน
<form name="frmSearch" method="post" action="show.php">
ลอง Search ดู เด๋วก็เจอ
Date :
2013-02-03 01:25:47
By :
apisitp
ขอเป็นแบบ Dropdown list ที่เป็น date time กำหนดช่วงเวลาการค้นหาครับ
Date :
2013-05-08 03:29:43
By :
ิbo
พอ search แล้ว แสดง เป็น ภาษาไทยได้ไหม ครับ พอดี ข้อมูลใน Database มีเป็นตัวอักษร ภาษาไทยด้วย
ผมรันมา แล้ว ตรง ภาษาไทย มัน ขึ้น ?
Date :
2015-09-14 21:34:20
By :
safety
อยากทราบว่าถ้าผมเปลี่ยนจาก dorpdown เป็น radio ติ้กเพื่อเลือก ให้ใส่ที่ textbox อันไหนแทนจะต้องเขียน code ยังไงครับ
Date :
2016-02-24 14:16:54
By :
kriszy
ขออนุญาตต่อ....พอดีช่วงนี้ผมต้องการตัวอย่าง ไฟล์ php เพื่อเพิ่ม ลบ แก้ไข และแบ่งหน้าและท้ายสุดคือค้นหาข้อมูล ซึ่งสามารถรวมไฟล์จาก thaicreate ได้เรียบร้อยแล้วครับ (ขอบคุณเว็บไทยครีเอท) แต่ความต้องการที่อยากได้เหมือนเจ้าของกระทุู้ได้ตั้งไว้ คืออยากได้ select ที่กำหนดจากตารางข้อมูล แล้วเลือกค้นหา ทดลองทำแล้วไม่ทำงาน (ผมความรู้น้อย)...ทำไงดี จึงทำการทดสอบกับ mysql แล้วปรากฎว่าทำได้แล้ว คือ ตารางที่ผมใช้ค้นหานั้นจะบันทึกแต่ละปีงบประมาณ สมมุติ 2560 ปัจจุบัน 2561 ดังนั้นหากเราทำงานในปี 2561 ควรจะค้นหาเฉพาะปีปัจจุบัน ครั้นผมจะกำหนด where เพิ่มเงื่อนไขก็ไม่ทำงาน ท้ายสุด...ได้เพราะ mysql แบบนี้นะครับ
ตารางที่ 1 เป็นตารางกำหนดปีงบประมาณ มีคอลัมน์ที่เลือกปีงบประมาณจะมีค่าเป็น 1 จึงนำมาเป็นตัวกำหนด (A)
$sql1 ="select * from A where year_active =1";
$query1 = mysqli_query($conn, $sql1);
$result1=mysqli_fetch_array($query1) ;
$thisyear = $result1["budget_year"];
ตารางที่2 ผมปรับจากโค๊ดของไทยครีเอท โดยเพิ่ม (เพื่อค้นคำบางคำ ร่วมกับ ค่าปีจากการ query ตารางที่ A แล้วปิด ) คั่นด้วย OR ( ) ไปเรื่อย ๆ ตามต้องการ ผลคือสามารถค้นหาข้อมูลในปีงบประมาณที่เราทำได้ทุกคอลัมน์ ได้ครับ
$sql =" select * from Bwhere (item LIKE '%".$strKeyword."%' AND budget_year='$thisyear') OR (money LIKE '%".$strKeyword."%' AND budget_year='$thisyear') OR
(pj_activity LIKE '%".$strKeyword."%' AND budget_year='$thisyear') ";
mysqli_set_charset($conn, "utf8");
$query = mysqli_query($conn,$sql);
$Num_Rows = mysqli_num_rows($query);
ไม่ทราบว่าถูกหลักการหรือเปล่า แต่ทดสอบแล้วใช้ได้ครับ.........
Date :
2018-01-03 19:49:23
By :
วีระชัย
$sql = "SELECT * FROM B WHERE item LIKE '%".$strKeyword."%' "; มี 251 บรรทัดรายการ (รวม 2 ปีงบประมาณ)
โดยการนำตาราง A ที่มีโครงสร้าง มาเปรียบเทียบ
id budget_year year_active
1 2560 0
2 2561 1
where (item LIKE '%".$strKeyword."%' AND budget_year='$thisyear') OR (money LIKE '%".$strKeyword."%' AND budget_year='$thisyear') OR (pj_activity LIKE '%".$strKeyword."%' AND budget_year='$thisyear') ";
Date :
2018-01-03 20:12:47
By :
วีระชัย
โชว์ภาพหน่อยครับ ขออนุญาตปิดข้อมูลบางรายการ โดยรวมคือ เพิ่ม ลบ แก้ไข แบ่งหน้า จัดเรียงแต่ละคอลัมน์ และท้ายที่สุดที่กล่าวมาก่อนหน้า คือ ค้นหาในปีงบประมาณปัจจุบันที่ทำงานอยู่ครับ
Date :
2018-01-03 20:23:37
By :
วีระชัย
Load balance : Server 03