ช่วยแก้error หน่อยครับ Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\AppServ\www\PROJECT\ChkOrderBook.php on line 15
ชื่อ DataOrderBook.php
Code (PHP)
<?
@session_start();
$numrow=0;
?>
<!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>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<style type="text/css">
<!--
.style4 {color: #000000}
.style5 {font-size: 12px}
.style7 {font-size: 12px; font-weight: bold; }
.style22 { font-size: 14px;
font-weight: bold;
}
.style23 {font-weight: bold}
-->
</style>
<script>
function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
for (c=0;c<=el_collection.length;c++)
el_collection[c].checked=thestate
}
</script>
</head>
<body>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="6" scope="col"><? include("head.html");?></th>
</tr>
<tr>
<th width="201" scope="row"><? include ("menu.css3prj.html");?></th>
<td colspan="5" align="center" valign="top"><p> </p>
<form id="form1" name="form1" method="post" action="ChkOrderBook.php">
<p align="center"> </p>
<table width="700" height="84" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" frame="box">
<tr align="center" bgcolor="#00FFFF" class="style4">
<td width="52"><span class="style7">เลือก</span></td>
<td><span class="style7">ชื่อหนังสือ</span></td>
<td width="111"><div align="center"><span class="style7">จำนวนสั่งซื้อหนังสือ</span></div></td>
<td width="141"><div align="right" class="style7 style5 style23">
<div align="center">หน่วยนับ</div>
</div></td>
<td width="90"><div align="center"><span class="style7">ราคาหนังสือ</span></div></td>
<td width="78"><div align="center" class="style7">ลบ
<?
include("config.php");
$sql="select * from book_order ";
$result=mysql_query($sql);
$numrow=mysql_num_rows($result);
while ($data=mysql_fetch_array($result)){
?>
</div></td>
</tr>
<tr align="center" class="style4">
<td class="style4"><input type='checkbox' name='inChk[]' id='inChk' value='<?=$data[Book_Oid];?>' /> </td>
<td class="style4"><span class="style22"><span class="style7 style5"><a href="databook_detail.php?Bid=<?=$data[Book_Oid];?>">
<?=$data[Book_Oname];?>
</a></span></span></td>
<td class="style4"><input type=text name=inPurunit[] id=inPurunit style=width:50px style=text-align:right onKeyPress=ChkNumber() value=<?=$data[Book_Onum];?>> </td>
<td class="style4"><font size="2">
<?php
$sql2 = "select * From Unitcount";
$result2 = mysql_query($sql2);
$Num_Rows2 = mysql_num_rows($result2);
$result2 = mysql_query($sql2);
echo "<select name=productstypecode[] id=productstypecode class=input>";
echo "<option value=0>เลือกหน่วยนับ";
While($row2= mysql_fetch_array($result2)){
$productstypecode = $row2["Unit_id"];
$productstypename = $row2["Unit_name"];
?>
<option value="<? echo "$productstypecode"; ?>" onblur="return chkForm();"><? echo "$productstypename"; ?>
<?
}
echo "</option></select>";
?>
</option>
</font></td>
<td class="style4"><span class="style7 style5">
<?=$data[Book_Oprice];?>
</span></td>
<td class="style4"><div align="center" class="style7 style5"><span class="style7"><a href="DelBook.php?Bid=<?=$data[Book_id];?>"><img src="PHOTO/e.jpg" width="24" height="24" /></a>
<?php } ?>
</span></div></td>
</tr>
<tr class="style4">
<td colspan="6"><span class="style22"> <img src="PHOTO/arrow.gif" width="17" height="14" /> <a href="javascript:checkall('form1','inChk',true)"><u><b>เลือกทั้งหมด </b></u></a> || <a href="javascript:checkall('form1','inChk',false)"><u><b>เอาออกทั้งหมด</b></u></a> จำนวนหนังสือทั้งหมด <?echo $numrow;?> หเล่ม</span></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value='สั่งซื้อสินค้า' id="Submit" />
</p>
</form></td>
</tr>
<tr>
<th scope="row"> </th>
<td width="149"> </td>
<td width="193"> </td>
<td width="101"> </td>
<td width="154"> </td>
<td width="76"> </td>
</tr>
</table>
</body>
</html>
ชื่่อ ChkOrderBook.php
Code (PHP)
<?
session_start();
///<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
include("config.php");
session_register("Book_id");
session_register("Book_name");
session_register("Book_price");
session_register("Book_num");
session_register("Book_unit");
if(!session_is_registered("Book_id")){ //ตรวจสอบว่า ตัวแปร Book_id ว่าเป็นตัวแปร session
$Book_id=array();
}
if(isset($_POST[Submit])){
for($i=0;$i<count($inChk);$i++){
$chk_array=in_array($inChk[$i],$Book_id); //บรรทัดที่ error
if($chk_array==false && isset($inChk[$i])){
$sql="SELECT * FROM book_order WHERE Book_Oid=$inChk[$i]";
$result=mysql_query($sql);
$data=mysql_fetch_array($result);
$Book_id[]=$data[Book_Oid];
$Book_name[]=$data[Book_Oname];
$Book_num[]=$inPurunit[$i];
$Book_price[]=$data[Book_Oprice];
$Book_unit[]=$productstypecode[$i];
}//จบif Check array
}//จบfor
}//จบif submit
//echo $sql ; exit();
//header("location:purchase_adddetail.php");
//echo "<meta http-equiv=refresh content=0;url=book_order.php />";
?>
</body>
</html>
ชื่อ Book_order
Code (PHP)
<?
include("config.php");
@session_start();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
</html>s
<head>
<script>
function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
for (c=0;c<=el_collection.length;c++)
el_collection[c].checked=thestate
}
</script>
</head>
<body>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="6" scope="col"><? include("head.html");?></th>
</tr>
<tr>
<th width="201" scope="row" valign="top"><? include ("menu.css3prj.html");?></th>
<td colspan="5"><p>
<form name=frm_cal method=post action=delete.php>
<table width=780 border=1 bordercolor=#E1E1E1 align=center cellpadding=3 cellspacing=0>
<tr bgcolor=#C7C7C7>
<th width="46" height="29" align=center>ลบ</th>
<th width="241">ชื่อหนังสือ</th>
<th width="104">จำนวนที่สั่งซื้อ</th>
<th width="126">หน่วยนับ</th>
<th width="79" bgcolor=#BCBCBC>ราคา</th>
<th width="134">ราคารวม</th>
</tr>
<?
if(count($Book_id)==0){
echo "<tr>";
echo "<td colspan=12 align=center background=admin_images/bgtable.gif >";
echo "<font color=#5B5B5B size=3><i>------ยังไม่มีสินค้าในรายการสั่งซื้อ------</i></font>";
echo "</td>";
echo "</tr>";
}else{
for ($i=0; $i<count($Book_id);$i++){
?>
<tr>
<td align=center>
<input type=checkbox name='inChk_pur_del[]' id='inChk_pur_del' value=<?=$Book_id[$i];?>></td>
<td align=center>
<a href=product_detail.php?proid=<?=$Book_id[$i];?>>
<u><?=$Book_name[$i];?></u></a></td>
<td align=center>
<?=$Book_num[$i];?></td>
<td align=center>
<?php
$sql2 = "select * From Unitcount WHERE Unit_id='$Book_unit[$i]'";
$result2 = mysql_query($sql2);
$Num_Rows2 = mysql_num_rows($result2);
$result2 = mysql_query($sql2);
While($row2= mysql_fetch_array($result2)){
$productstypecode = $row2["Unit_id"];
echo $row2["Unit_name"];
?>
<? }?></td>
<td align=right>
<?=$Book_price[$i];?></td>
<td align=right>
<? $total[$i]=$Book_num[$i]*$Book_price[$i]?>
<?=$total[$i];?></td>
</tr>
<?
}//จบfor
}//จบif
?>
</table>
<table width=780 align=center border=0 cellpadding=4 cellspacing=0>
<tr bgcolor=#9E9E9E>
<td width=250>
<img src=PHOTO/arrow.gif>
<a href="javascript:checkall('frm_cal','inChk_pur_del',true)"><u><b>เลือกทั้งหมด </b></u></a> ||
<a href="javascript:checkall('frm_cal','inChk_pur_del',false)"><u><b>เอาออกทั้งหมด</b></u></a>
<input type=submit name=submitcal value="ลบ" style=width:50px></td>
<td width=200><font size=2><u>มีรายการทั้งหมด<font color=#0000FF> <b><?=count($Book_id);?></b></font> รายการ</u></font></td>
<td width=280 align=right> </td>
</tr>
</table>
<table width=780 border=0 align=center cellpadding=2 cellspacing=0>
<tr bgcolor=#909090>
<td width=600 align=right><font size=5><b><u>ยอดสั่งซื้อสุทธิ</u> :</b></font></td>
<td width=180 align=right><font size=5><b><font color=#33FF00>
<?
echo number_format($totalprice,2);
?>
</font></b><font size=3><b> บาท</b></font></td>
</tr>
</table>
<table width=780 align=center border=0 cellpadding=4 cellspacing=2>
<tr bgcolor=#D3D3D3>
<td align=center>
<a href=dataorderbook.php><font size=3><b><u>สั่งซื้อหนังสือเพิ่ม</u></b></font></a> |
<a href=order_calculate.php><font size=3><b><u>ยกเลิกการสั่งซื้อ</u></b></font></a> |
<?
if(count($Book_id)==0){
echo"<font size=3 color=#727272><b>สั่งซื้อสินค้า</b></font>";
}else{
echo "<a href=purchase_detail.php><font size=3><b><u>สั่งซื้อสินค้า</u></b></font></a>";
}
?></td>
</tr>
</table>
<br/>
</form>
</p></td>
</tr>
<tr>
<th scope="row"> </th>
<td width="149"> </td>
<td width="193"> </td>
<td width="101"> </td>
<td width="154"> </td>
<td width="76"> </td>
</tr>
</table>
</body>
</html>
ต่อไปรูปตอนผมรันตามขั้นตอน
รูปนี้ผมจะสั่งซื้อหนังสือสองอย่าง
[img=1]https://www.thaicreate.com/upload/stock/20111207160447.png[/img
หลังจากกดสั่งซื้อจะลิ้งไป ChkOrderBook.php แล้วจะเกิด error แบบนี้ครับ
[img=2]https://www.thaicreate.com/upload/stock/20111207160513.png[/img
หลังจาก error จะมาหน้านี้
รูปนี้ผมจะกลับมาซื้อใหม่อีกสองอย่าง พอกดสั่งซื้อจะไม่มี error
แต่ข้อมูลที่ได้มาจะเป็นแบบรูปด้านล่างครับ
นี้ไฟล์ทั้งหมดนะครับ ช่วยโหลดไปแก้ให้หน่อยครับ
http://file2.uploadfile.biz/i/ENIMMEIIIHMHEVTag : PHP, CakePHP
Date :
2011-12-07 16:25:08
By :
JO23748
View :
1567
Reply :
10
เพิ่มเติมจากด้านบน
รูปนี้ผมจะสั่งซื้อหนังสือสองอย่าง
หลังจากกดสั่งซื้อจะลิ้งไป ChkOrderBook.php แล้วจะเกิด error แบบนี้ครับ
Date :
2011-12-07 16:27:11
By :
JO23748
เปลี่ยนแล้วก็ยังไม่ได้ครับ
สั่งซื้อมาได้ชิ้นเดียวเหมือนเดิม
Date :
2011-12-07 18:19:25
By :
JO23748
ลองใช้ $_POST['inChk']
Date :
2011-12-07 19:12:54
By :
ikikkok
$inChk อันนี้ replace ให้หมด
Date :
2011-12-07 19:33:02
By :
ikikkok
Code (PHP)
<?
session_start();
///<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
include("config.php");
session_register("Book_id");
session_register("Book_name");
session_register("Book_price");
session_register("Book_num");
session_register("Book_unit");
if(!session_is_registered("Book_id")){
$Book_id=array();
}
if(isset($_POST[Submit])){
for($i=0;$i<count($inChk);$i++){
$chk_array=in_array($inChk[$i],$Book_id); //บรรทัดที่ error
if($chk_array==false && isset($inChk[$i])){
$sql="SELECT * FROM book_order WHERE Book_Oid= '$inChk[$i]' ";
$result=mysql_query($sql);
$data=mysql_fetch_array($result);
$Book_id[]=$data[Book_Oid];
$Book_name[]=$data[Book_Oname];
$Book_num[]=$inPurunit[$i];
$Book_price[]=$data[Book_Oprice];
$Book_unit[]=$productstypecode[$i];
}//จบif Check array
}//จบfor
}//จบif submit
echo "<meta http-equiv=refresh content=0;url=book_order.php />";
?>
</body>
</html>
ใส่ตรงไหนครับพี่
พี่ช่วยใส่ให้ดูหน่อย
ผมไม่เข้าใจ
Date :
2011-12-07 23:33:49
By :
JO23748
Code (PHP)
<?
session_start();
///<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
include("config.php");
session_register("Book_id");
session_register("Book_name");
session_register("Book_price");
session_register("Book_num");
session_register("Book_unit");
if(!session_is_registered("Book_id")){
$Book_id=array();
}
if(isset($_POST[Submit])){
for($i=0;$i<count($inChk);$i++){
$chk_array=in_array($inChk[$i],$Book_id); //บรรทัดที่ error
if($chk_array==false && isset($inChk[$i])){
$sql="SELECT * FROM book_order WHERE Book_Oid= '$inChk[$i]' ";
$result=mysql_query($sql);
$data=mysql_fetch_array($result);
$Book_id[]=$data[Book_Oid];
$Book_name[]=$data[Book_Oname];
$Book_num[]=$inPurunit[$i];
$Book_price[]=$data[Book_Oprice];
$Book_unit[]=$productstypecode[$i];
}//จบif Check array
}//จบfor
}//จบif submit
echo "<meta http-equiv=refresh content=0;url=book_order.php />";
?>
</body>
</html>
session_register เลิกใช้ได้แล้วครับ
ลองไล่หาดูครับ หรือจะลอง print_r($_POST); ออกมาดูก็ได้ว่าค่ามาครบและเป็น array จริงหรือเปล่า
Date :
2011-12-07 23:47:31
By :
ikikkok
Load balance : Server 01