|
|
|
รบกวน สอบถาม Code แบบฟอร์มแบบนี้น่อยจร้า อาจารย์สั่งมาจร้า |
|
|
|
|
|
|
|
ก็เอาค่าที่ได้มาโชว์บน textfied เฉยๆครับ เหมือนการดึงมาแสดงแบบปกติดอะเหละ
- ถ้ามีการกดปุ่มตกลงก็เรียกฟังชั่นการ INSERT INTO
- ถ้ามีการกดปุ่มบันทึกก็เรียกฟังชั่นการ UPDATE
- ถ้ามีการกดปุ่ม คำนวณใหม่ก็เรียก javascript ทำสูตรคำนวนแล้วแสดงค่าที่เปลี่ยนไป
|
|
|
|
|
Date :
2014-01-26 18:19:07 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : meannerss เมื่อวันที่ 2014-01-26 18:19:07
รายละเอียดของการตอบ ::
คือว่า ตรง insert into อ่าจีะ ที่เรางง เพราะปกติ เราจะส่งค่าไปยังอีกหน้าเพื่อบันทึก แต่ select และ โชว์ค่าในหน้าเดียวอ่าจ๊ะ เรา งงว่า
โค้ดจะเขียนแบบไหนจร้า พอจะมีโค้ดบ้างไหมอ่า
นี้เพื่อนส่งมาให้อ่าจร้า แต่ว่าเค้าเขียนแบบว่า เราอ่านแล้วไม่ค่อยเข้าใจเลยอ่าจร้า
Code (PHP)
<?
session_start();
include("conect.php");
$feed_id1 = $_SESSION['feed_id'];
// i don't no what run program
if (empty($_SESSION['s_emp']) || ($_SESSION['s_emp']['feed_id'] != $feed_id && !empty($feed_id))) {
$_SESSION['s_emp'] = NULL;
$rs = mysql_query("select * from ");
$row = mysql_fetch_array($rs);
$_SESSION['s_emp']['data'] = $row;
$_SESSION['s_emp']['work'] = array();
}
$dataPro = array();
$rs = mysql_query("select * from product");
while ($row = mysql_fetch_array($rs)) {
$dataPro[] = $row;
}
// when browser change state POST (event by button, method form POST) ถ้ากดตกลงคือ รูปนี้
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$proId = $_REQUEST['ddlPro'];
$date = $_REQUEST['txtDate'];
$hour = $_REQUEST['txtH'];
$option = $_REQUEST['hidOption'];
if ($option == 'ses') {// ถ้ากดตกลงคือ รูปนี้
// add data to session
if (!empty($proId) && !empty($date) && !empty($hour)) {
$arr = $_SESSION['s_emp']['work'];
$add = true;
for ($i = 0;$i < count($arr);$i++) {
if ($arr[$i]['p_id'] == $proId && $arr[$i]['date'] == $date) {
$arr[$i]['hour'] += $hour;
$add = false;
break;
}
}
if ($add)
$arr[] = array('p_id'=>$proId, 'date'=>$date, 'hour'=>$hour, 'oldhour'=>getOldHour($date, $proId));
$_SESSION['s_emp']['work'] = $arr;
echo(' <script>window.location=\'rq_3.php\';</script> ');
} else {
echo(' <script>alert("กรอกข้อมูลให้ครบ");</script> ');
}
} else if ($option == 'cal') { // ถ้ากดคำนวนใหม่ รูปนี้ทำงาน
// caculate in session
$date = $_REQUEST['txtDateList'];
$proId = $_REQUEST['ddlProList'];
$hour = $_REQUEST['txtHList'];
$arr = $_SESSION['s_emp']['work'];
$newArr = array();
if (!in_array('', $date) && !in_array('', $hour)) {
for ($i = 0;$i < count($arr);$i++) {
$arr[$i]['date'] = $date[$i];
$arr[$i]['hour'] = $hour[$i];
$arr[$i]['p_id'] = $proId[$i];
}
// when change data to check data contain
for ($i = 0;$i < count($arr);$i++) {
$add = true;
for ($j = 0;$j < count($newArr);$j++) {
if ($newArr[$j]['p_id'] == $arr[$i]['p_id'] && $newArr[$j]['date'] == $arr[$i]['date']) {
$newArr[$j]['hour'] += $arr[$i]['hour'];
$add = false;
}
}
if ($add)
$newArr[] = $arr[$i];
}
$_SESSION['s_emp']['work'] = $newArr;
echo(' <script>window.location=\'rq_3.php\';</script> ');
} else {
echo(' <script>alert("กรอกข้อมูลให้ครบ");</script> ');
}
} else if ($option == 'insert') {
// insert to database
$empId = $_SESSION['s_emp']['data']['emp_id'];
$arr = $_SESSION['s_emp']['work'];
for ($i = 0;$i < count($arr);$i++) {
$date = $arr[$i]["date"];
$hour = $arr[$i]["hour"];
$proId = $arr[$i]["p_id"];
$sql = "select * from working where date_work = '$date' and proj_id = '$proId' and emp_id = '$empId'";
$rs = mysql_query($sql);
if (mysql_num_rows($rs) == 0)
$sql = "insert into working(date_work,proj_id,emp_id,work_hours) values('$date','$proId','$empId','$hour')";
else
$sql = "update working set work_hours=work_hours+$hour where (date_work = '$date' and emp_id = '$empId' and proj_id = '$proId')";
mysql_query($sql);
}
$_SESSION['s_emp'] = NULL;
echo(' <script>alert("บันทึกสำเร็จ");window.location=\'sertingfeed.php\';</script> ');
}
} else {
// browser state GET (event by link, normal state)
if ($_REQUEST['option'] == 'del') {
$delId = $_REQUEST['sid'];
$arr = $_SESSION['s_emp']['work'];
$newArr = array();
for ($i = 0;$i < count($arr);$i++) {
if ($i != $delId)
$newArr[] = $arr[$i];
}
$_SESSION['s_emp']['work'] = $newArr;
echo(' <script>window.location=\'rq_3.php\';</script> ');
}
}
?>
<!DOCTYPE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>เพิ่มข้อมูลสินค้า</title>
<style type="text/css">
body,td,th {
font-family: "Courier New", Courier, monospace;
}
</style>
</head>
<script type="text/javascript" language="javascript">
function setForm(obj) {
var v = obj.value;
if (v == 'ตกลง') {
window.document.getElementById('hidOption').value = 'ses';
} else if (v == 'คำนวนใหม่') {
window.document.getElementById('hidOption').value = 'cal';
} else if (v == 'บันทึก') {
window.document.getElementById('hidOption').value = 'insert';
}
window.document.getElementById('f1').submit();
}
function conDel(sid) {
if (confirm('ต้องการลบใช่หรือไม่'))
window.location = 'rq_3.php?option=del&sid='+sid;
}
</script>
<center>
<form id="f1" name="f1" method="post" action="">
<br>
<table width="500" border="2" >
<tr>
<tr align="center" bgcolor="#48AE33">
<td colspan="6"> ป้อนข้อมูลการเบิก</td>
</tr>
<tr>
<tr align="center">
<td colspan="6">รหัสการเลี้ยง <? echo $feed_id1 ; ?></td>
</tr>
<tr>
<tr align="center">
<td colspan="6">ชื่อพนักงานที่ทำการเบิก
<?
$strSQL1 = "SELECT sf_name FROM staff,feed WHERE staff.sf_id = feed.sf_id and feed.feed_id = '$feed_id1'";
$objQuery = mysql_query($strSQL1) or die(mysql_error());
$objResult1 = mysql_fetch_array($objQuery);
echo $objResult1["sf_name"];
?>
</td>
</tr>
<tr>
<td align="right">อาหารและยา </td>
<td align="left">
<select name="ddlPro" id="ddlPro">
<option value=""><-- Please Select Item --></option>
<?
foreach ($dataPro as $row) {
echo(' <option value="'.$row["p_id"].'">'.$row["p_name"].'</option> ');
}
?>
</select>
</td>
</tr>
<tr>
<td align="right">วันที่ </td>
<td align="left"><input name="txtDate" type="text" id="txtDate" size="20"></td>
</tr>
<tr>
<td align="right">จำนวน </td>
<td align="left"><input name="txtH" type="text" id="txtH" size="3"></td>
</tr>
<tr>
<td align="right"> </td>
<td align="left"><input type="button" onClick="setForm(this);" name="button" id="button" value="ตกลง">
<input type="hidden" name="hidOption" id="hidOption"></td>
</tr>
</table>
<br>
<table width="800" border="2">
<tr align="center" bgcolor="#48AE33">
<td colspan="6"> ข้อมูลการเบิกสินค้าของ <? echo $objResult1["sf_name"] ;?></td>
</tr>
<tr>
<td width="47" align="center">ลำดับ</td>
<td width="108" align="center">วันที่</td>
<td width="234" align="center">อาหารและยา</td>
<td width="184" align="center">จำนวนการเบิก</td>
<td width="125" align="center">เป็นเงิน</td>
<td width="60" align="center"> </td>
</tr>
<?
$data = $_SESSION['s_emp']['work'];
$k = 0;
foreach ($data as $row) {
echo('
<tr>
<td align="center">'.($k+1).'</td>
<td align="left"><input type="text" name="txtDateList[]" value="'.$row["date"].'" size="15"></td>
<td align="left">'.createDDL($dataPro,$row["p_id"]).'</td>
<td align="center"><input type="text" style="text-align:right" name="txtHList[]" value="'.$row["hour"].'" size="3"></td>
<td align="right">'.number_format($_SESSION['s_emp']['data']['p_sell']*$row["hour"], 2).' </td>
<td align="center"><a href="javascript:;" onclick="conDel('.$k.');">ลบ</a></td>
</tr>
');
$k++;
}
?>
<tr>
<td colspan="6" align="center"><input type="button" onClick="setForm(this);" name="button2" id="button2" value="คำนวนใหม่">
<input type="button" name="button3" id="button3" onClick="setForm(this);" value="บันทึก"></td>
</tr>
</table>
</form>
</center>
</body>
<?
function createDDL($data, $checkedId) {
$str = '<select name="ddlProList[]">';
foreach ($data as $row)
$str .= '<option value="'.$row["p_id"].'" '.($row["p_id"] == $checkedId ? 'selected' : '').'>'.$row["p_name"].'</option>';
$str .= '</select>';
return $str;
}
function getOldHour($date,$proId) {
$empId = $_SESSION['s_emp']['data']['emp_id'];
$sql = "select work_hours from working where proj_id = '$proId' and date_work = '$date' and emp_id = '$empId'";
$rs = mysql_query($sql);
$h = mysql_fetch_object($rs)->work_hours;
return number_format($h > 0 ? $h : 0, 2);
}
?>
|
|
|
|
|
Date :
2014-01-26 20:58:08 |
By :
lmprovisezii |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|