|
|
|
ช่วยแก้โค๊ด ให้หน่อยนะค่ะ พอดี ERROR ว่า Invalid argument supplied for foreach() in ค่ะ |
|
|
|
|
|
|
|
Code (PHP)
<?
session_start();
include "./include/connect.php";
include "./include/function.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=windows-874" />
<? // ฟังก์ชันเครื่องปริ้น?>
<script language=javascript>
function printArticle() {
if (window.print) {
setTimeout('window.print();',100);
}
else if (agt.indexOf("mac") != -1) {
alert("Press 'Cmd+p' on your keyboard to print article.");
}
else {
alert("Press 'Ctrl+p' on your keyboard to print article.")
}
}
-->
</script>
<title>ใบเสร็จชำระหนี้</title>
<style type="text/css">
<!--
.style2 {font-size: x-large}
body {
background-color: #CCCCCC;
}
.style4 {font-size: large; font-weight: bold; }
.style5 {font-weight: bold}
.style6 {font-size: large}
-->
</style>
</head>
<body>
<center>
<p> </p>
<table width="740" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF" >
<tr>
<th width="736" scope="col">
<label>
<div align="left">
<input name="print" type="image" onclick="return printArticle()" src="image/print.gif" alt="คลิกที่นี่เพื่อพิมใบสั่งซื้อสินค้า"/>
</div>
</label>
<p align="left"> </p>
<center>
<table width="722" border="0">
<tr>
<th colspan="4" scope="col"><span class="style2">ใบเสร็จชำระหนี้</span></th>
</tr>
<tr>
<td width="356"> </td>
<td width="27"> </td>
<td width="138"> </td>
<td width="183"> </td>
</tr>
<tr>
<td colspan="4"><div align="center" class="style5">
<p>ร้านจิราพรการเกษตร</p>
</div></td>
</tr>
<tr>
<td colspan="4"><p align="center"><strong>57 หมู่ 1 ต.พานทอง อ.พานทอง จ.ชลบุรี </strong></p> </td>
</tr>
<tr>
<td colspan="4"><div align="center"><strong>เบอร์โทรศัพท์ 038452238 </strong></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?
echo $pay_id=$_GET[pay_id];
$sql="SELECT *,(cus_maxcredit-cus_credit) as total FROM payment, paydetail, sale, customer WHERE sale.cus_id = customer.cus_id AND paydetail.sale_id = sale.sale_id AND payment.pay_id = paydetail.pay_id AND payment.pay_id='$pay_id'";
$result=mysql_db_query($db,$sql);
$read=mysql_fetch_array($result)
?>
<tr>
<td> </td>
<td> </td>
<td colspan="2"><div align="right">เลขที่การชำระหนี้::<?=$read[pay_id];?></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td colspan="2"><div align="right">วันที่ :: <?=displaydate($read[pay_date]);?></div></td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td colspan="4">รหัสลูกค้า :: <?=$read[cus_id];?> </td>
</tr>
<tr>
<td colspan="4">ชื่อลูกค้า :: <?=$read[cus_name];?></td>
</tr>
<tr>
<td colspan="4">ที่อยู่ ::<?=$read[cus_address];?> </td>
</tr>
<tr>
<td>เครดิตสูงสุด :: <?=$read[cus_maxcredit];?> </td>
<td colspan="3">เครดิตคงเหลือ :: <?=$read[total];?></td>
</tr>
<tr>
<td colspan="4"><div align="center" class="style4">รายการสินค้า</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="4"><center><table width="719" border="1" cellpadding="0" cellspacing="0">
<tr bgcolor="#CCCCCC">
<th width="48" scope="col"><div align="center"><strong>ลำดับ</strong></div></th>
<th width="98" scope="col"><div align="center"><strong>เลขที่การขาย</strong></div></th>
<th width="168" scope="col"><div align="center"><strong>จำนวนเงินค้างจ่าย</strong>(บาท)</div></th>
<th width="198" scope="col"><div align="center"><strong>จำนวนเงินที่จ่ายครั้งนี้</strong>(บาท)</div></th>
<th width="164" scope="col"><div align="center"><strong>สถานะ</strong></div></th>
</tr>
<?
$total2=0;
$sql1="SELECT *,(cus_maxcredit-cus_credit) as total FROM payment, paydetail, sale, customer WHERE sale.cus_id = customer.cus_id AND paydetail.sale_id = sale.sale_id AND payment.pay_id = paydetail.pay_id AND payment.pay_id='$pay_id'";
$result1=mysql_db_query($db,$sql1);
$num=mysql_num_rows($result1);
for($i=1;$i<=$num;$i++){
$read1=mysql_fetch_array($result1)
?>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$read1[sale_id];?></div></td>
<?
foreach($sess_payment as $sale_id=>$value){
$select2="select * from sale where sale_id='$sale_id' ";
$result2=mysql_query($select);
$read2=mysql_fetch_array($result);
$sale_total_credit2=$read2[sale_total_credit];
$total_status=$sale_total_credit2-$value['credit'];
?>
<td> <div align="right"><?=$value['total_credit']; ?></div></td>
<td><div align="right"><?=$value['credit'];?></div></td>
<?
$total2= $total2+$value['credit'];
?>
<?
if($read1[sale_pay_credit]==$read2[sale_total_credit ]){
$Status='ชำระหมดแล้ว';
}else{
$Status='ค้างชำระื $total_status; บาท';
}
?>
<td>
<div align="right"><?=$Status?></div></td>
</tr>
<?
} //foreach
} // for
?>
<tr>
<td colspan="3">
<div align="right">ราคารวมทั้งหมด</div>
<div align="center"></div> <div align="left"></div> <div align="right"></div> <div align="right"></div></td>
<td><div align="right"><?=$total2;?></div></td>
<td><div align="left">บาท</div></td>
</tr>
</table>
</center></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td colspan="2"><div align="center">.........................</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td colspan="2"><div align="center">
(<?=$read1[sale_admin];?>)</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td colspan="2"><div align="center">ผู้ขาย </div></td>
</tr>
</table>
</center>
<p> </p></th>
</tr>
</table>
<p><a href="payment.php">กลับ</a></p>
</center>
</body>
</html>
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\Phpbasic\AnimalShop\payment_cus_bill.php on line 147
ช่วยผู้ช่วยดูให้หน่อยนะค่ะ งงมากค่ะ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-01-28 09:56:52 |
By :
dekcis |
View :
1537 |
Reply :
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sess_payment รับค่าจากไหนครับ
|
|
|
|
|
Date :
2011-01-28 10:00:11 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รับมาจาก อีกหน้าหนึ่งค่ะ
|
|
|
|
|
Date :
2011-01-28 10:22:05 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง print_r($sess_payment) ออกมาดูครับว่ามีค่าไหม
|
|
|
|
|
Date :
2011-01-28 11:16:02 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง print_r($sess_payment) ไม่มีไรขึ้นเลยค่ะ แสดงว่าค่าไม่ส่งมาใช่ไหมค่ะ
|
|
|
|
|
Date :
2011-01-29 09:59:22 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ครับ
$sess_payment คนส่งมาจากอีกหน้ายังไงครับ
หมายถึงส่งค่ามายังไง
|
|
|
|
|
Date :
2011-01-29 10:04:45 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ค่ะค่าขึ้นแล้วค่ะ
แต่ว่ามันเป็นแบบนี้ค่ะ
Array ( [S0049] => Array ( [total_credit] => 765.00 [credit] => 65.00 [duedate] => 2011-05-29 ) )
ตอนแรกที่ไม่ขึ้นเพราะว่า session_unregister("sess_payment"); ไว้ค่ะ
|
|
|
|
|
Date :
2011-01-29 10:25:51 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วมันรันได้ป่ะครับ เอา session_unregister("sess_payment"); ออกแล้วหน่ะ
ผมว่ามันจะเป็น array ซ้อนกันหน่ะ
|
|
|
|
|
Date :
2011-01-29 10:33:51 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รันได้ค่ะ แต่มันวนค้าซ้ำหลายรอบมากเลยค่ะ แล้วอย่างนี้ต้องแก้ปัญหาอย่างไรค่ะ งงมากเลยค่ะ
|
|
|
|
|
Date :
2011-01-29 10:44:46 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql ตรง $select2="select * from sale where sale_id='$sale_id' "; ต้องการเอาค่า อะไร จาก
Array ( [S0049] => Array ( [total_credit] => 765.00 [credit] => 65.00 [duedate] => 2011-05-29 ) )
ไปต่อล่ะครับ
|
|
|
|
|
Date :
2011-01-29 11:07:07 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรง sql ต้องการเอาค่าจากฐานข้อมูลที่ลบกันได้ มาลบ กับค่าใน $sess_payment ที่เก็บมาอีกทีค่ะ
|
|
|
|
|
Date :
2011-01-29 11:24:33 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่คุณทำมันก็น่าจะถูกแล้วหน่ะครับ
Code (PHP)
<?php
//Array ( [S0049] => Array ( [total_credit] => 765.00 [credit] => 65.00 [duedate] => 2011-05-29 ) )
$test = array();
$test['total_credit']= '765.00';
$test['credit']= '65.00';
$test['duedate']= '2011-05-29';
$txt['S0049'] =$test;
print_r($txt);
echo "<BR>";
foreach($txt as $sale_id=>$value){
echo $sale_id;
echo "<BR>";
echo $value['credit'];
echo "<BR>";
echo $value['total_credit'];
echo "<BR>";
echo $value['duedate'];
}
?>
ถ้าค่าตรง $sess_payment มันมาแล้วหน่ะ
|
|
|
|
|
Date :
2011-01-29 11:48:08 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
foreach($sess_payment as $sale_id=>$value){
echo $sale_id;
echo "<BR>";
echo $value['credit'];
echo "<BR>";
echo $value['total_credit'];
echo "<BR>";
echo $value['duedate'];
ค่าที่รันออกมา มาอย่างละ 2 รอบอ่ะ
ได้ดังนี้
S0049
10
160.00
2011-05-29-10 160.00 10 ค้างชำระื $total_status; บาท
S0050
9000
39000.00
2011-01-01-9000 39000.00 9000 ค้างชำระื $total_status; บาท
2 S0050 S0049
10
160.00
2011-05-29-10 160.00 10 ค้างชำระื $total_status; บาท
S0050
9000
39000.00
2011-01-01-9000
มันต้องเป็นตรง ลูปแน่เลยค่ะ
|
|
|
|
|
Date :
2011-01-30 00:22:43 |
By :
dekcis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|