ช่วยด้วย สร้าง dropdown ขึ้นมา3กล่อง แต่แสดงข้อมูลแค่่กล่องเดียว แก้ไขยังไงดี?????
คือสร้างdropdown ขึ้นมา3กล่องค่ะเพื่อที่จะใช้แสดง unit month และ year แต่ทีนี้เมื่อเวลารันแล้ว ผลการค้นหามันขึ้นแค่ค่าจากyear อย่างเดียวค่ะ unit month ไม่ขึ้น แต่ว่ามีการรับค่านะค่ะ แต่ไม่แสดงผล รบกวนช่วยดูหน่อย
Code (PHP)
<!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>
</head>
<?php
function timeplus($arr)
{
$hour = 0;
$minute = 0;
$second = 0;
foreach ($arr as $value)
{
$arrtime = explode(":", ":", $value);
$hour += $arrtime[0];
$minute += $arrtime[1];
$second += $arrtime[2];
}
return ($hour + floor($minute / 60)) . ":". str_pad(($minute %60), 2, "0" , STR_PAD_LEFT). ":". str_pad(($second % 60), 2, "0" , STR_PAD_LEFT);
}
?>
<?php
include"database.php";
$objDB = mysql_select_db("bpk");
$strSQL = "SELECT * FROM outageevent ";
$objQuery = mysql_query($strSQL) or die ("Error Query");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 50; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by hour desc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<body>
<form name="frmSearch" method="post" action=" ">
<table width="840" border="1">
<tr>
<th width="830">Select
<select name="unit" OnChange="window.location='?item='+this.value;">
<option value=""><-- Please Select Unit --></option>
<?php
$strSQL = "SELECT DISTINCT unit FROM outageevent ";
$objQuery = mysql_query($strSQL);
while($objResult = mysql_fetch_array($objQuery))
{
if($_GET["item"] == $objResult["unit"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $objResult["unit"];?>" <?php echo $sel;?>><?php echo $objResult["unit"];?></option>
<?php
}
?>
</select>
<?php
if($_GET["item"] != "")
{
$strSQL = "SELECT * FROM outageevent WHERE unit = '".$_GET["item"]."' ";
$objQuery = mysql_query($strSQL);
$objResult2 = mysql_fetch_array($objQuery);
}
?>
<select name="month" OnChange="window.location='?item1='+this.value;">
<option value=""><-- Please Select Month --></option>
<?php
$strSQL = "SELECT DISTINCT month FROM outageevent ";
$objQuery = mysql_query($strSQL);
while($objResult = mysql_fetch_array($objQuery))
{
if($_GET["item1"] == $objResult["month"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $objResult["month"];?>" <?php echo $sel;?>><?php echo $objResult["month"];?></option>
<?php
}
?>
</select>
<?php
if($_GET["item1"] != "")
{
$strSQL = "SELECT * FROM outageevent WHERE month = '".$_GET["item1"]."' ";
$objQuery = mysql_query($strSQL);
$objResult2 = mysql_fetch_array($objQuery);
}
?>
<select name="year" OnChange="window.location='?item2='+this.value;">
<option value=""><-- Please Select Year --></option>
<?php
$strSQL = "SELECT DISTINCT year FROM outageevent ";
$objQuery = mysql_query($strSQL);
while($objResult = mysql_fetch_array($objQuery))
{
if($_GET["item2"] == $objResult["year"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $objResult["year"];?>" <?php echo $sel;?>><?php echo $objResult["year"];?></option>
<?php
}
?>
</select>
<?php
if($_GET["item2"] != "")
{
$strSQL = "SELECT * FROM outageevent WHERE year = '".$_GET["item2"]."' ";
$objQuery = mysql_query($strSQL);
$objResult2 = mysql_fetch_array($objQuery);
}
?></tr>
</table>
<table width="50%" border="0" align="center">
<tr>
<td><a href="index.php">event ทั้งหมด</a></td>
<td><a href="top10.php">top 10 ชั่วโมงสูญเสีย</a></td>
<td><a href="count.php">ตารางสรุปจำนวน</a></td>
<td><a href="tool.php">ตารางสรุปอุปกรณ์</a></td>
</tr>
</table>
</form>
<table width="100%" height="70" border="1">
<tr bgcolor="#00FF00">
<th width="72"> <div align="center"> ลำดับ</div></th>
<th width="72"> <div align="center"> YEAR</div></th>
<th width="51"> <div align="center">MONTH </div></th>
<th width="80"> <div align="center">UNIT </div></th>
<th width="309"> <div align="center">EVENT </div></th>
<th width="69"> <div align="center">START DATE </div></th>
<th width="61"> <div align="center">START TIME </div></th>
<th width="59"> <div align="center">END DATE </div></th>
<th width="61"> <div align="center">END TIME </div></th>
<th width="74"> <div align="center">HOUR</div></th>
<th width="73"> <div align="center">TYPE</div></th>
<th width="71"> <div align="center">NET MW </div></th>
<th width="83"> <div align="center">MW LOSS</div></th>
</tr>
<?
$a=1;
while($objResult2 = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="left"><?php echo $a;?></div></td>
<td><div align="left"><?php echo $objResult2["year"];?></div></td>
<td align="right"><?php echo $objResult2["month"];?> </td>
<td align="right"><?php echo $objResult2["unit"];?> </td>
<td><div align="left"><?php echo $objResult2["event"];?></div></td>
<td align="right"><?php echo $objResult2["sdate"];?> </td>
<td align="right"><?php echo $objResult2["stime"];?> </td>
<td align="right"><?php echo $objResult2["edate"];?> </td>
<td align="right"><?php echo $objResult2["etime"];?> </td>
<td align="right"><?php echo $objResult2["hour"];?> </td>
<td align="right"><?php echo $objResult2["etype"];?> </td>
<td align="right"><?php echo $objResult2["netmw"];?> </td>
<td align="right"><?php echo $objResult2["mwloss"];?> </td>
</tr>
<?
$a++;
}
?>
</table>
<table width="100%" height="52" border="1">
<tr>
<td width="123"><? echo "ชั่วโมงสะสม" ?></td>
<td width="967">
<?php
$arr = array("$hour");
echo timeplus($arr);
?>
</td>
</tr>
<tr>
<td><? echo "MW สะสม" ?></td>
<td><?php $query = "SELECT * FROM outageevent ";
$query_run = mysql_query($query);
$sum1= 0;
while ($row_Recordset1['mwloss']= mysql_fetch_assoc ($query_run)) {
$sum1+= $row_Recordset1['mwloss']['mwloss'];
}
echo $sum1; ?>
</td>
</tr>
</table>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
$Page1 = $Page-5;
$Page2 = $Page+5;
if($i != $Page && $i >= $Page1 && $i <= $Page2)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
}
elseif($i==$Page)
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Num_Pages]'>... Next>></a> ";
}
mysql_close();
?>
</body>
</html>
</html>
Tag : PHP, MySQL
ประวัติการแก้ไข 2015-07-17 09:12:43
Date :
2015-07-14 10:13:01
By :
lazyme
View :
1332
Reply :
9
PHP + MySQL อยากทำ search แบบ Dropdown list เลือกจาก Field และสามารถใส keyword ได้ด้วย พอจะมีโค๊ด ไหมคะ
Date :
2015-07-14 10:55:33
By :
pokultra
Dropdown list ทำงานแบบแยกกันทำงาน พอเกิด event onChange ก็จะทำตาก script ของตัวเอง
ควรทำเป็น function ให้อ้างอิง dropdown list ตัวอื่นที่เกี่ยวข้องกันด้วย
Code (JavaScript)
<select name="unit" OnChange="all_select_chagne()">
... รายละเอียด...
</select>
<select name="month" OnChange="all_select_chagne()">
... รายละเอียด...
</select>
<select name="year" OnChange="all_select_chagne()">
... รายละเอียด...
</select>
<script>
function all_select_chagne(){
var frm = document.frmSearch;
location.href='?item='+frm.unit.value+
'&item1='+frm.month.value+
'&item2='+frm.year.value;
}
</script>
Date :
2015-07-15 09:36:52
By :
NewbiePHP
แล้วเขียน ฟังก์ชันรับ ไว้แบบไหนครับ ที่ผมทำเป็นแค่ตัวอย่าง
ไม่ได้มีการตรวจสอบข้อมูลว่าเป็นอย่าง ควรทำการตรวจสอบข้อมูล(auto_complete)
ก่อนทำการ request ไปยัง server ครับ
Date :
2015-07-15 11:04:47
By :
NewbiePHP
ลองดูเป็นตัวอย่างครับ php ตัวรับ แสดง ทุก select box แล้วแต่การเลือก
ทำความเข้าใจกับการต่อ string ให้ดีครับ
ทั้งของ request url ใน javascript
และ statement sql ใน php
Code (PHP)
<script>
// javascript send
function all_select_chagne(){
var frm = document.frmSearch;
var parm = frm.unit.value? '&unit='+frm.unit.value: '';
parm += (frm.month.value? '&month='+frm.month.value: '');
parm += (frm.year.value? '&year='+frm.month.value: '');
location.href='?getSelect=1'+parm;
}
</script>
<?php
// php receive
if(isset($_REQUEST['getSelect'])){
$strSQL = "SELECT * FROM outageevent WHERE 1 "
. ( isset($_REQUEST['item']? " and unit = '$_REQUEST[item]' " : '')
. ( isset($_REQUEST['month']? " and `month` = '$_REQUEST[month]' " : '')
. ( isset($_REQUEST['year']? " and `year` = '$_REQUEST[year]' " : '');
$objQuery = mysql_query($strSQL);
$objResult2 = mysql_fetch_array($objQuery);
}
?>
Date :
2015-07-15 11:42:20
By :
NewbiePHP
php ตัวรับ ผมเขียนโค๊ด บันทัด 16-17-18 ตก วงเล็บไปทั้ง 3 บันทัดอะครับ เขียนบันทัดแรกเสร็จ ก๊อปลงมาข้างล่างเลยผิดเหมือกัน
ลองเอาโค๊ดข้างล่างไปลองทดสอบและศึกษาดูครับ
Code (PHP)
<?php
// php receive
if(isset($_REQUEST['getSelect'])){
$strSQL = "SELECT * FROM outageevent WHERE 1 "
. ( isset($_REQUEST['unit'])? " and unit = '$_REQUEST[unit]' " : '')
. ( isset($_REQUEST['month'])? " and `month` = '$_REQUEST[month]' " : '')
. ( isset($_REQUEST['year'])? " and `year` = '$_REQUEST[year]' " : '');
}else $strSQL = '';
$u=isset($_REQUEST['unit'])? $_REQUEST['unit'] : '';
$m=isset($_REQUEST['month'])? $_REQUEST['month'] : '';
$y=isset($_REQUEST['year'])? $_REQUEST['year'] : '';
?>
<!doctype>
<html>
<head>
<meta charset="utf8">
<script>
// javascript send
function all_select_chagne(){
var frm = document.frmSearch;
var parm = frm.unit.value? '&unit='+frm.unit.value: '';
parm += (frm.month.value? '&month='+frm.month.value: '');
parm += (frm.year.value? '&year='+frm.year.value: '');
location.href='?getSelect=1'+parm;
}
</script>
</head>
<body>
<?php echo $strSQL; ?><br>
<form name="frmSearch">
<select name="unit" OnChange="all_select_chagne()">
<option value="">--กรุณาเลือกUnit--</option>
<?php
for( $i=1; $i<3; $i++){
echo "<option value='$i' ".($i==$u? "selected" : '') . " >$i</option>\n";
}
?>
</select>
<select name="month" OnChange="all_select_chagne()">
<option value="">--กรุณาเลือกเดือน--</option>
<?php
$mnt = array('','มกราคม','กุุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
for( $i=1; $i<13; $i++){
echo "<option value='$i' ".($i==$m? "selected" : '') . " >$mnt[$i]</option>\n";
}
?>
</select>
<select name="year" OnChange="all_select_chagne()">
<option value="">--กรุณาเลือกปี--</option>
<?php
for( $i=2557; $i<2561; $i++){
echo "<option value='$i' " . ($i==$y? "selected" : '') . " >$i</option>\n";
}
?>
</select>
</form>
</body>
</html>
Date :
2015-07-15 15:25:07
By :
NewbiePHP
Load balance : Server 00