ช่วยทีครับ เรื่องการ search ข้อมูลครับ ค้นหาแบบมี Dropdown และ textbox สำหรับใส่เงื่อนไขครับ
จากรูปครับ worker คือผู้ปฏิบัติงาน แล้ว งานนั้นๆ จะสามารถมีได้สูงสุด 4 คนแต่ข้อมูลไม่จำเป็นต้องครบทุกช่อง
จารูป แต่ในตอนใช้คำสั่งค้นหา จะทำไงดีครับให้สามารถค้นหาชื่อได้จากทั้ง 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"> </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"> </th>
<th width="73"> </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>
<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
Date :
2012-02-01 11:47:13
By :
akkaneetha
View :
1339
Reply :
3
ตัวของ $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
ดูเหมือนว่าจะไม้เกี่ยวอ่ะครับ เท่าที่ลองคิดดู น่าจะเป็นตรง 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
Load balance : Server 03