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

HOME > PHP > PHP Forum > ช่วยทีครับ เรื่องการ search ข้อมูลครับ ค้นหาแบบมี Dropdown และ textbox สำหรับใส่เงื่อนไขครับ



 

ช่วยทีครับ เรื่องการ search ข้อมูลครับ ค้นหาแบบมี Dropdown และ textbox สำหรับใส่เงื่อนไขครับ

 



Topic : 073039



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



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



search1
จากรูปครับ worker คือผู้ปฏิบัติงาน แล้ว งานนั้นๆ จะสามารถมีได้สูงสุด 4 คนแต่ข้อมูลไม่จำเป็นต้องครบทุกช่อง

search2
จารูป แต่ในตอนใช้คำสั่งค้นหา จะทำไงดีครับให้สามารถค้นหาชื่อได้จากทั้ง 4 ชื่อ
เพราะตอนนี้ผมกำหนดไว้แค่หาได้จากชื่อแรกชื่อเดียว
Code (PHP)
<option selected="selected">- Select -</option>
          <option value="worker1"<?if($_POST["ddlSelect"]=="worker1"){echo"selected";}?>>ชื่อผู้ปฏิบัติงาน</option>
          <option value="date" <?if($_POST["ddlSelect"]=="date"){echo"selected";}?>>วันที่ดำเนินการ</option>
          <option value="status" <?if($_POST["ddlSelect"]=="status"){echo"selected";}?>>ผลการปฏิบัติงาน</option>


โค้ดทั้งหมด
Code (PHP)
<?
session_start();
	if ($_SESSION['ADMINID'] == "") {    //ถ้าตัวแปรเป็นค่า ว่าง
	header("Location:login.php");   //ให้ไปหน้า login
 }	
	include("connect.php");
	$strSQL = "SELECT * FROM members WHERE UserID = '".$_SESSION['ADMINID']."' ";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	mysql_query("SET character_set_results=UTF8");
	mysql_query("SET character_set_client=UTF8");
	mysql_query("SET character_set_connection=UTF8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function MM_openBrWindow(URL, N, W, H, S) { // name, width, height, scrollbars
var winleft    =    (screen.width - W) / 2;
var winup    =    (screen.height - H) / 2;
winProp        =    'width='+W+',height='+H+',left='+winleft+',top=' +winup+',scrollbars='+S+',resizable' + ',status=no'
Win            =    window.open(URL, N, winProp)
}
</script>
<style type="text/css">
<!--
.style1 {
	font-size: 12px;
	font-weight: bold;
}
.style3 {font-size: 12px; color: #FFFFFF; }
a:link {
	color: #0033FF;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #0033FF;
}
a:hover {
	text-decoration: none;
	color: #00FF00;
}
a:active {
	text-decoration: none;
	color: #FF0000;
}
.style6 {font-size: 12px; font-weight: bold; color: #FFFFFF; }
body {
	background-repeat: no-repeat;
}
.style7 {color: #FF0000}
-->
</style>
</head>
<body background="image/(246).jpg" bgproperties="fixed">
</p>
<table width="1062" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#0033FF">
  <tr>
    <th colspan="4" align="left">
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
  <table width="599" border="0" cellpadding="3" cellspacing="1">
    <tr>
      <th align="left">Select 
        <select name="ddlSelect" id="ddlSelect">
          <option selected="selected">- Select -</option>
          <option value="worker1"<?if($_POST["ddlSelect"]=="worker1"){echo"selected";}?>>ชื่อผู้ปฏิบัติงาน</option>
          <option value="date" <?if($_POST["ddlSelect"]=="date"){echo"selected";}?>>วันที่ดำเนินการ</option>
          <option value="status" <?if($_POST["ddlSelect"]=="status"){echo"selected";}?>>ผลการปฏิบัติงาน</option>
        </select>
        Keyword
        <input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>">
      <input type="submit" value="Search"></th>
    </tr>
  </table>
</form></th>
<?
//$SQL = "SELECT * FROM workorder WHERE UserID = '".$_SESSION['MEMBERID']."' ORDER BY IDwork DESC";
//$workQuery = mysql_query($SQL) or die ("Error Query [".$SQL."]");
// Search By Name or Email
	$workSQL = "SELECT * FROM workorder WHERE 1 ";
	if($_POST["ddlSelect"] != "" and  $_POST["txtKeyword"]  != '')
	{
	  $workSQL .= " AND (".$_POST["ddlSelect"]." LIKE '%".$_POST["txtKeyword"]."%' ) ORDER BY IDwork DESC";
	}	
	$workQuery = mysql_query($workSQL) or die ("Error Query [".$workSQL."]");
?>
    <th colspan="3" align="right"><span class="style6">ID <?php echo $objResult["UserID"];?> ชื่อ <?php echo $objResult["fname"];?></span></th>
    <th colspan="2" align="right" bgcolor="#FFFFFF"><a href="admin_page.php"><img src="image/home1.gif" width="53" height="22" /></a></th>
  </tr>
  <tr bgcolor="#FFFFFF">
    <th colspan="9" height="5">&nbsp;</th>
  </tr>
  <tr>
    <th width="43"><span class="style3">ลำดับ</span></th>
    <th width="271"><span class="style3">งานที่มอบหมาย</span></th>
    <th width="114"><span class="style3">วัน-เวลาดำเนินการ</span></th>
    <th width="154"><span class="style3">ผู้ปฏิบัติงาน</span></th>
    <th width="99"><span class="style3">ผลการปฏิบัติงาน</span></th>
    <th width="82"><span class="style3">รหัสผู้บันทึก</span></th>
    <th width="98"><span class="style3">ชื่อผู้บันทึก</span></th>
    <th width="64">&nbsp;</th>
    <th width="73">&nbsp;</th>
  </tr>
<?
while($workResult = mysql_fetch_array($workQuery))
{
$i++;
if($i%2==0){$bg = "#FFFFCC";}// ใส่สีในตารางแบบสลับสี ตั้งแต่ $i ถึง $bg
else{$bg = "#FFFFFF";}
?>
  <tr valign="top" bgcolor="<?=$bg;?>">
    <td align="center" valign="top" bgcolor="<?=$bg;?>"><?=$workResult["IDwork"];?>    </td>
    <td valign="top" bgcolor="<?=$bg;?>">      <?=$workResult["work"];?>    </td>
    <td align="center" valign="top" bgcolor="<?=$bg;?>"><?=$workResult["date"];?></td>
    <td valign="top" bgcolor="<?=$bg;?>"><? 	if($workResult["worker1"] != '' ){echo $workResult["worker1"]."<br />";}?>
      <? if($workResult["worker2"] != '' ){echo $workResult["worker2"]."<br />";}?>
      <? if($workResult["worker3"] != '' ){echo $workResult["worker3"]."<br />";} ?>
      <? if($workResult["worker4"] != '' ){echo $workResult["worker4"]."";} ?></td>
    <td valign="top" bgcolor="<?=$bg;?>">
	<?
	if ($workResult["status"]=='เรียบร้อย'){
	echo 'เรียบร้อย';}
    else {
    echo '<span class="style7"><b><u>ไม่เรียบร้อย</u></b></span></td>';}
    ?>
    <td align="center" valign="top" bgcolor="<?=$bg;?>"><?=$workResult["UserID"];?></td>
    <td valign="top" bgcolor="<?=$bg;?>"><?=$workResult["fname"];?></td>
    <td valign="top" bgcolor="#FFFFFF"><a href="javascript:MM_openBrWindow('show_detail_workorder_ADMIN.php?IDwork=<?=$workResult["IDwork"];?>','detail','480','300','no')" class="style9 style1">รายละเอียด</a></td>
    <td align="center" bgcolor="#FFFFFF"><a href="Editwork_ADMIN.php?IDwork=<?=$workResult["IDwork"];?>"><img src="image/edit_24.png" width="24" height="24" /></a>
    &nbsp;&nbsp;&nbsp;<a href="JavaScript:if(confirm('ต้องการที่จะลบ?')==true){window.location='delete_workorder_ADMIN.php?IDwork=<?=$workResult["IDwork"];?>';}"><img src="image/del_24.png" width="24" height="24" /></a></td>
  </tr>
<?
}
?>
</table>
<?
mysql_close();
?>
</body>
</html>


ขอถามอีกนิดนะครับ คือผมมีการค้นหาด้วยวันที่ แล้วรูปแบบวันในฐานข้อมูลเป้น ปี เดือน วัน แล้วผมควรจะออกแบบอย่างไรจึงจะดูให้ใช้งานง่ายที่สุดครับ นอกจากจะพิมพ์วันที่เอาอ่ะครับ



Tag : PHP, MySQL, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-01 11:47:13 By : akkaneetha View : 1339 Reply : 3
 

 

No. 1



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



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

ตัวของ $workSQL = "SELECT * FROM workorder WHERE 1 ";

กับ $workSQL .= " AND (".$_POST["ddlSelect"]." LIKE '%".$_POST["txtKeyword"]."%' ) ORDER BY IDwork DESC";


สมมุติว่าเอามาต่อกัน SELECT * FROM workorder WHERE 1 AND (".$_POST["ddlSelect"]." LIKE '%".$_POST["txtKeyword"]."%' ) ORDER BY IDwork DESC

จากตรงนี้ถ้าเรียก query ด้านหลังไม่ผิด ลองเอา เป็น SELECT * FROM workorder WHERE (".$_POST["ddlSelect"]." LIKE '%".$_POST["txtKeyword"]."%' ) ORDER BY IDwork DESC

ทดลองดูนะครับ
เพราะที่ว่าเรียกได้ชื่อแรกที่เดียวมาจาก where 1 หรือเปล่า

ลองดูครับ ^ ^






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 13:09:39 By : 13eachz
 


 

No. 2



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



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

ดูเหมือนว่าจะไม้เกี่ยวอ่ะครับ เท่าที่ลองคิดดู น่าจะเป็นตรง listbox ครับ
Code (PHP)
<option selected="selected">- Select -</option>
          <option value="worker1"<?if($_POST["ddlSelect"]=="worker1"){echo"selected";}?>>ชื่อผู้ปฏิบัติงาน</option> //เพราะว่า ค่าตรงนี้ให้ส่งค่าเฉพาะ worker1 แต่ในฐานข้อมูล มี worker 1 - 4 แต่ผมไม่รุ็ว่าจะให้มัน ส่งค่ายังไงเพื่อให้ได้ค่าทั้ง 4 ค่าครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 13:16:38 By : akkaneetha
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : akkaneetha เมื่อวันที่ 2012-02-01 13:16:38
รายละเอียดของการตอบ ::
ขอโทดทีครับผมเข้าใจผิดไปนิดนึง ผมคิดว่ามันแสดงไม่ครบ 4 แถว
อันนี้ที่ต้องการคือให่้เสริจได้ทั้ง 4 หลัก ใช่หรือเปล่าครับ ?

ถ้าใช่ เราเขียนแบบกำปั้นทุบดินไปเลย

if($_POST["ddlSelect"] == "worker1")
{
$workSQL .= " AND (worker1 LIKE '%$_POST["txtKeyword"]%' OR worker2 LIKE '%$_POST["txtKeyword"]%' OR worker3 LIKE '%$_POST["txtKeyword"]%' OR worker4 LIKE '%$_POST["txtKeyword"]%') ORDER BY IDwork DESC";
}

ใช้ไปก่อน ถ้าเจอเทคนิคดีๆ ค่อยแก้ทีหลังก็ได้ครับ
ได้ ไม่ได้ยังไงก็บอกด้วยนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 13:57:12 By : 13eachz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยทีครับ เรื่องการ search ข้อมูลครับ ค้นหาแบบมี Dropdown และ textbox สำหรับใส่เงื่อนไขครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่