|
|
|
แนวทางการดึงหน่วยน้ำ หน่วยไฟ ของเดือนก่อนหน้า(ระบบจัดการหอพัก) |
|
|
|
|
|
|
|
ตอนนี้ทำได้แนวลูกทุ่งๆแล้วครับ แต่ถ้ามีใครแนะนำเพิ่มก็จะได้ไว้ศึกษาครับ
|
ประวัติการแก้ไข 2013-08-01 01:54:44
|
|
|
|
Date :
2013-08-01 01:49:36 |
By :
pengbuts |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เอามาแชร์กันล่ะครับ
|
|
|
|
|
Date :
2013-08-01 06:11:12 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมกลัวคนเอาไปใช้แล้วเออเร่อคร้าบ แต่เดี๋ยวจะเอาโค้ดมาลงให้ครับๆๆ
|
|
|
|
|
Date :
2013-08-01 14:26:35 |
By :
pengbuts |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หลังจากลองทำแบบลูกทุ่งๆ โดยได้รับคำแนะนำจากพี่ๆ ก็ได้ตามนี้ครับ
อันนี้เป็นโค้ดส่วนของฟอร์มกรอก ซื่งจะเลือกดึงจากจำนวนห้องที่มีผู้เข้าพักอยู่ และเนื่องจากจำนวนข้อมูลซื้อถ้ามีผู้เข้าพักหมดทุกห้องก็เป็นร้อยๆห้อง ดังนั้นชื่อของ Textfield จึงต้องใส่ $i กำกับ
Code (PHP)
<?
//เลือกดึงข้อมูลเฉพาะที่มีผู้เข้าพัก
$sqlCost="SELECT * FROM tbl_checkin";
$resultCost=mysql_query($sqlCost)or die(mysql_error());
$numCost=mysql_num_rows($resultCost);
?>
<form action="cost.php" name="cost" method="post">
<table class="list" cellpadding="5" cellspacing="1" width="100%" style="margin-top:0px;">
<tr>
<th class="head" width="91" align="center">ห้องที่</th>
<th width="160" align="center" class="head">หน่วยไฟก่อนหน้า</th>
<th width="198" align="center" class="head">หน่วยไฟครั้งหลัง</th>
<th width="97" align="center" class="head">รวมหน่วยไฟ</th>
<th width="160" align="center" class="head">หน่วยน้ำก่อนหน้า</th>
<th width="198" align="center" class="head">หน่วยน้ำครั้งหลัง</th>
<th width="97" align="center" class="head">รวมหน่วยน้ำ</th>
</tr>
<?
if($numCost>0){
for($i=1;$i<=$numCost;$i++){$rowCost=mysql_fetch_array($resultCost);
?>
<?
//เลือกดึงข้อมูลค่าใช้จ่ายของห้องครั้งล่าสุด
$sql="SELECT * FROM tbl_cost WHERE room_id=".$rowCost['room_id']." ORDER BY cost_id desc";
$result=mysql_query($sql)or die(mysql_error());
$row=mysql_fetch_array($result);
//เลือกดึงรายละเอียดของแต่ละห้องมา
$sqlRoom="SELECT * FROM tbl_room WHERE room_id=".$rowCost['room_id']."";
$resultRoom=mysql_query($sqlRoom)or die(mysql_error());
$rowRoom=mysql_fetch_array($resultRoom);
?>
<tr>
<td align="center">
<input type="hidden" name="user_id<?=$i;?>" value="<?=$rowCost['user_id']?>">
<input type="hidden" name="room_price<?=$i;?>" value="<?=$rowRoom['price']?>">
<input type="text" name="room_id<?=$i;?>" class="room" size="5" value="<?=$rowCost['room_id']?>" style="text-align:center; border:0px;" readonly="readonly">
</td>
<td align="center">
<input type="text" name="meter_e_before<?=$i;?>" class="old" size="10" value="<?=$row['meter_e_back']?>" style="text-align:center; border:0px;" readonly="readonly">
</td>
<td align="center">
<input type="text" name="meter_e_back<?=$i;?>" class="current" size="10" style="text-align:center;">
</td>
<td align="center">
<input type="text" name="e_result_<?=$i;?>" class="result" size="10" style="text-align:center; border:0px;" readonly="readonly">
</td>
<td align="center">
<input type="text" name="meter_w_before<?=$i;?>" class="wold" size="10" value="<?=$row['meter_w_back']?>" style="text-align:center; border:0px;" readonly="readonly">
</td>
<td align="center">
<input type="text" name="meter_w_back<?=$i;?>" class="wcurrent" size="10" style="text-align:center;">
</td>
<td align="center">
<input type="text" name="w_result_<?=$i;?>" class="wresult" size="10" style="text-align:center; border:0px;" readonly="readonly">
</td>
</tr>
<?
}
}
else if($numCost==0){
?>
<tr>
<td colspan="7" align="center">ไม่มีข้อมูล</td>
</tr>
<?
}
?>
<tr>
<th colspan="7" align="left" class="foot">จำนวน : <?=$numCost?></th>
</tr>
</table>
<input type="hidden" name="hdnLine" value="<?=$numCost;?>">
<div style="text-align:center;">
<input type="submit" name="submit" value="บันทึก" onclick="return confirm('ยืนยันการกรอกข้อมูลครบแล้ว')" style="width:80px;">
</div>
</form>
อันนี้เป็นสคริปตวจสอบหากว่า Textfield ที่กำหนดมีการกรอกค่าลงไปให้ทำการคำนวณใส่ช่องรวมหน่วยที่ใช้ทันที
Code (JavaScript)
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function() {
$('.current').keyup(function(e) {
var Old = $(this).parent().parent().find('input.old').val();
var Cur = $(this).val();
var result = Cur-Old;
if(result>=0){
$(this).parent().parent().find('input.result').val(Cur-Old);
}else{
$(this).parent().parent().find('input.result').val('');
}
});
$('.wcurrent').keyup(function(e) {
var Oldw = $(this).parent().parent().find('input.wold').val();
var Curw = $(this).val();
var resultw = Curw-Oldw;
if(resultw>=0){
$(this).parent().parent().find('input.wresult').val(Curw-Oldw);
}else{
$(this).parent().parent().find('input.wresult').val('');
}
});
});
</script>
อันนี้เป็นส่วนของการรับค่าที่ถูก POST มาจากฟอร์มครับ เมื่อข้อมูลส่งมาจะหาว่ามีมากี่รายการ และเนื่องจากอัตราค่าน้ำค่าไฟต่อหนุ่งหน่วยผมได้เก็บค่าไว้ที่ tbl_value จึงมีการดึงและนำมาคำนวนเพื่อเก็บเข้าไปในฐานข้อมูล
Code (PHP)
<?
if($_POST) {
$sqlValue="SELECT * FROM tbl_value";
$resultValue=mysql_query($sqlValue)or die(mysql_error());
$rowValue=mysql_fetch_array($resultValue);
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$elec_price = $_POST["e_result_$i"]*$rowValue['electric'];
$water_price = $_POST["w_result_$i"]*$rowValue['water'];
$total = $elec_price+$water_price+$_POST["room_price$i"];
$strSQL = "INSERT INTO tbl_cost ";
$strSQL .="(user_id, room_id, meter_w_before, meter_w_back, meter_e_before, meter_e_back, watertotal, electotal, water_price, elec_price, room_price, total, cost_date, status) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["user_id$i"]."','".$_POST["room_id$i"]."', ";
$strSQL .="'".$_POST["meter_w_before$i"]."','".$_POST["meter_w_back$i"]."', ";
$strSQL .="'".$_POST["meter_e_before$i"]."','".$_POST["meter_e_back$i"]."', ";
$strSQL .="'".$_POST["w_result_$i"]."','".$_POST["e_result_$i"]."', ";
$strSQL .="'".$water_price."','".$elec_price."', ";
$strSQL .="'".$_POST["room_price$i"]."','".$total."', ";
$strSQL .="now(),'ค้างชำระ') ";
mysql_query("SET NAMES UTF8");
mysql_query($strSQL) or die(mysql_error());
}
echo "<script language='javascript'>";
echo "alert('อัพเดทค่าใช้จ่ายเรียบร้อยแล้ว!');";
echo "</script>";
echo "<script langquage='javascript'>";
echo "window.location='pay.php';";
echo "</script>";
}
?>
จากการที่ได้ลองเล่นๆดูก็ถือว่าโอเคระดับหนึ่ง ให้ผู้ที่ทำใกล้เคียงไปศึกษา แค่ผมคิดว่าของผมคงไม่มาตรฐานเท่าไร ^^ แต่ตอนนี้ยังไม่มีปัญหาอะไรครับ หากผู้รู้ท่านไหนเห็นว่าอย่างไหน ตรงไหนควรแก้ก็ชี้แนะด้วยนะครับ
|
ประวัติการแก้ไข 2013-08-01 14:54:37
|
|
|
|
Date :
2013-08-01 14:44:41 |
By :
pengbuts |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|