|
|
|
ช่วยหน่อยครับ SQL query 3 event พอได้ result แล้วต้องการ sort เฉพาะแต่ละ event นั้นๆไป |
|
|
|
|
|
|
|
ปัญหาแก้ไม่ตก หาวิธีไม่เจอ ไม่รู้จะแก้อย่างไรแล้วครับ
ผมมี form ในการดึงข้อมูลมาโชว์หน้าเว็บ แต่มี event ที่ใช้งานต่างกันดังนี้ครับ
event 1 query ตามวันที่
event 2 query ตาม งาน
event 3 query ตาม เครื่อง
แต่ละ event จะต้องกดปุ่ม ก่อน เลยต้องใช้เงื่อนไข if else ถึงจะได้ result ออกมาตามที่ต้องการทั้ง 3 event
ที่ผ่านมาใช้งานได้อย่างไม่มีปัญหาครับ แต่พอมาวันนี้ ต้องการที่จะ sort ข้อมูลที่ออกมาอีกครั้งหนึ่ง ซึ่งในแต่ละ event ก็มีการ sort โดย SQL command อยู่แล้ว
ผมเลยศึกษาตามหัวข้อ
https://www.thaicreate.com/community/php-sorting-column-mysql.html
นี้แล้ว ปรากฎว่า มันเจ๋งมาก แต่พอนำมาประยุกต์ใช้กับของผม มันทำไม่ได้ เพราะของผมมันติดที่ if else มันต้องอย่างใดอย่างหนึ่งมันถึงจะทำงาน
รบกวนท่านผู้รู้ ช่วนแนะนำด้วยครับ php code ตามด้านล่างนี้เลยครับ
event ทั้ง 3 จะอยู่ตรง if $view== ตรงโค้ด บรรทัดที่ 106,113,119นะครับ
Code (PHP)
<h3>ค้นหารายการงานตามวันที่ หรือ หมายเลขงาน</h3><br/><br/>
<form action="<?php echo $PHP_SELF; ?>" name="view_job" method="post">
<script Language="JavaScript">
function openDate(form, element) {
window.open("/include/date.php?year=<?php echo date("Y", mktime()); ?>&month=<?php echo date("n", mktime()); ?>&form="+form+"&element="+element,"this" ,"resizable=no,scrollbars=no,width=200,height=200,toolbar=no");
}
</script>
<table width="100%" border="0">
<tr><td colspan="2" bgcolor="<?php echo $HTML->COLOR_LTBACK_TITLE; ?>" align="center"><strong>แสดงรายการตามวัน</strong></td></tr>
<tr><td colspan="2" bgcolor="<?php echo $HTML->COLOR_LTBACK_BACK; ?>" align="center">
<table width="100%">
<tr>
<td width="40%" align="center">
งานที่ถึงได้รับแจ้งตั้งแต่วันที่ <input type="text" name="begin_date" value="<?php echo isset($begin_date) ? $begin_date : html_buddhism_date(mktime());?>" size="10" maxlength="10">
<a href="#" onclick="openDate('view_job', 'begin_date');"><img src="/images/icon_Calendar.gif" width="25" height="20" border="0"></a>
</td>
<td width="30%" align="center">
ถึงวันที่ <input type="text" name="end_date" value="<?php echo isset($end_date) ? $end_date : html_buddhism_date(mktime());?>" size="10" maxlength="10">
<a href="#" onclick="openDate('view_job', 'end_date');"><img src="/images/icon_Calendar.gif" width="25" height="20" border="0"></a>
</td>
</tr>
</table>
<br/>
<input type="submit" name="view" value="แสดงรายการใหม่">
</td></tr>
<tr><td colspan="2"><br/></td></tr>
<tr>
<td width="50%" bgcolor="<?php echo $HTML->COLOR_LTBACK_TITLE; ?>" align="center"><strong>ค้นหางานตาม Job No.</strong></td>
<td width="50%" bgcolor="<?php echo $HTML->COLOR_LTBACK_TITLE; ?>" align="center"><strong>ค้นหางานตาม Terminal ID</strong></td>
</tr>
<tr>
<td width="50%" bgcolor="<?php echo $HTML->COLOR_LTBACK_BACK; ?>" align="center">
<table width="100%">
<tr>
<td align="center">Job No. <input type="text" name="job_no" value="<?php echo $job_no; ?>">
<input type="submit" name="view" value="ค้นหา Job"></td>
</tr>
</table>
</td>
<td width="50%" bgcolor="<?php echo $HTML->COLOR_LTBACK_BACK; ?>" align="center">
<table width="100%">
<tr>
<td align="center">Terminal ID <input type="text" name="terminal_id" value="<?php echo trim($terminal_id); ?>">
<input type="submit" name="view" value="ค้นหา TID"></td>
</tr>
</table>
</td>
</tr>
</table>
<hr>
<?php
/*********************************************************************************************************************************/
if (isset($begin_date)) {
$begin_date_array = explode("/", $begin_date);
$begin_datetime = mktime(0, 0, 0, $begin_date_array[1], $begin_date_array[0], $begin_date_array[2] - 543);
} else {
$begin_datetime = mktime();
}
if (isset($end_date)) {
$end_date_array = explode("/", $end_date);
$end_datetime = mktime(23, 59, 59, $end_date_array[1], $end_date_array[0], $end_date_array[2] - 543);
} else {
$end_datetime = mktime();
}
//die;
$curr_user = new User(user_getid());
$user_name = session_get_user();
$user = "
SELECT *
FROM users
WHERE user_id IN (".user_getid().")
";
$user_res=db_query($user);
while ($user_list_row = db_fetch_array($user_res)) {
$bank_id = $user_list_row['bank_id'];
}
$strSort = $_REQUEST["sort"];
if($strSort == "")
{
$strSort = "jobs.job_receive_datetime";
}
$sql_job_list = "SELECT jobs.job_id, jobs.job_number, jobs.job_officer_code, jobs.job_receive_datetime, edc.bank_id, sites.site_name, jobs.job_status,
jobs.job_type, edc.edc_id,jobs.job_qc_datetime,jobs.job_receive_datetime,job_sla_status
FROM ((jobs LEFT OUTER JOIN edc
ON jobs.edc_id=edc.edc_id) LEFT OUTER JOIN sites
ON edc.site_id=sites.site_id) LEFT OUTER JOIN terminal
ON edc.edc_id=terminal.edc_id
WHERE terminal.terminal_type='1'";
if ($view == "แสดงรายการใหม่")
$sql_job_list .= " AND edc.bank_id IN ($bank_id) AND jobs.job_receive_datetime>='$begin_datetime' AND jobs.job_receive_datetime<='$end_datetime'
GROUP BY jobs.job_id, jobs.job_number, jobs.job_officer_code, edc.bank_id, sites.site_name, jobs.job_status,
jobs.job_type, edc.edc_id,jobs.job_qc_datetime,jobs.job_receive_datetime,job_sla_status,terminal_id ";
} else if ($view == "ค้นหา Job") {
$jobNumber = trim($job_no);
$sql_job_list .= " AND edc.bank_id IN ($bank_id) AND jobs.job_number='$jobNumber' GROUP BY jobs.job_id, jobs.job_number, jobs.job_officer_code, jobs.job_receive_datetime, edc.bank_id, sites.site_name, jobs.job_status,
jobs.job_type, edc.edc_id,jobs.job_qc_datetime,jobs.job_receive_datetime,job_sla_status,terminal_id ";
} else if ($view == "ค้นหา TID" )
$mainTID = trim($terminal_id);
$sql_job_list .= " AND terminal.terminal_id='".$mainTID."' AND edc.bank_id IN ($bank_id) GROUP BY jobs.job_id, jobs.job_number, jobs.job_officer_code, jobs.job_receive_datetime, edc.bank_id, sites.site_name, jobs.job_status,
jobs.job_type, edc.edc_id,jobs.job_qc_datetime,jobs.job_receive_datetime,job_sla_status,terminal_id ";
} else {
echo "case nothing";
return false;
}
$job_list_res = db_query($sql_job_list);
$job_list_numrows = db_numrows($job_list_res);
if ($job_list_numrows=0) {
$feedback .= " ไม่มีรายการงานที่ต้องการค้นหาอยู่ในระบบ กรุณาตรวจสอบอีกครั้ง ";
}
/*********************************************************************************************************************************/
echo $HTML->listTableTop(array("<a href='$PHP_SELF?sort=job.job_receive_datetime'>วันเวลาที่รับแจ้ง</a>"
, "<a href='$PHP_SELF?sort=bank_id'>ธนาคาร</a>"
, "<a href='$PHP_SELF?sort=job_type'>ประเภทของงาน</a>"
, "<a href='$PHP_SELF?sort=terminal_id'>TID</a>"
, "<a href='$PHP_SELF?sort=site_name'>ชื่อร้านค้า</a>"
, "<a href='$PHP_SELF?sort=job_status'>สถานะงาน</a>"
,"สถานะเครื่อง"
, "S/N"
,"C"
,"R"));
html_feedback_top($feedback);
$count_job = 0;
?>
<form action="new_request_by_bank.php" name="new_job" method="post">
<?php
while ($job_list_row = db_fetch_array($job_list_res)) {
$bank_obj = bank_get_object($job_list_row['bank_id']);
$edc_obj = new Edc($job_list_row['edc_id']);
$job_status = trim($job_list_row['job_status']);
$job_sla_status = $job_list_row['job_sla_status'];
$job_qc_datetime = $job_list_row['job_qc_datetime'];
$jobtype = $job_list_row['job_type'];
$jobID = $job_list_row['job_id'];
echo '<tr bgcolor="'. ((fmod($count_job++, 2) == 0) ? $HTML->COLOR_HLBACK_BACK1 : $HTML->COLOR_HLBACK_BACK2).'">
<td width="13%" align="center">'. html_buddhism_date($job_list_row['job_receive_datetime']).'</td>
<td width="7%" align="center">'. $bank_obj->getShortName().'</td>
<td width="13%" align="center">'. get_job_type($job_list_row['job_type']).'</td>
<td width="8%" align="center">'. $edc_obj->getMasterTerminal().'</td>
<td width="25%" align="center">'. $job_list_row['site_name'].'</td>
<td width="13%" align="center">'. $job_list_row['job_status'].'</td>
<td width="13%" align="center"></td>
<td width="13%" align="center"></td>';
}
?>
</form>
<?php
echo $HTML->listTableBottom();
echo '</center>';
?>
Tag : PHP, Ms SQL Server 2005, Ms SQL Server 2008, Ms SQL Server 2012
|
ประวัติการแก้ไข 2016-08-21 00:38:13 2016-08-21 00:40:02 2016-08-21 00:41:03 2016-08-21 00:42:08 2016-08-21 00:42:32
|
|
|
|
|
Date :
2016-08-21 00:35:34 |
By :
peejangka |
View :
714 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2016-08-22 22:19:16 |
By :
peejangka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยผมด้วยคร้าบบบบบบ
|
|
|
|
|
Date :
2016-08-23 10:06:39 |
By :
peejangka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ท่าทางหมดโอกาสแน่เลย สงสัยผมคงไม่ได้ไปให้ความรู้ใครก่อน เลยไม่ได้ความรู้ตอบกลับมา ทำใจ
|
ประวัติการแก้ไข 2016-08-23 19:04:20
|
|
|
|
Date :
2016-08-23 19:02:41 |
By :
peejangka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|