|
|
|
สอบถามปัญหาการเพิ่มข้อมูลทีละหลายๆบรรทัดโดยผ่านเครื่องยิงบาร์โค๊ดตามตัวอย่างครับ |
|
|
|
|
|
|
|
ทดลองทำโปรแกรมขายสินค้าแบบง่ายๆ (แต่งมมาหลายวันแล้ว)
ผมลองสร้างสคริป searchsale.php กับ saleonline แล้วลองเอาสคริปหลายๆตัวมาประกอบกันจนได้แบบนี้ ตามที่เวป thaicreate มีตัวอย่างให้ดูและศึกษานะครับ
โค๊ด searchsale.php มีดังนี้โดยเอาสคริปหลายๆอย่างมารวมกันครับ
Code (PHP)
<html>
<head>
<title>ค้นหารหัสขายสินค้า</title>
<script type="text/javascript">
function focusThis(htmlElm) {
var focusItem = document.getElementsByName(htmlElm);
focusItem[0].focus();
}
</script>
</head>
<body onLoad="focusThis('txtKeyword')">
<form name="frmSearch" method="get" action="searchsale.php">
<table width="1024" height="167" border="1" bgcolor="#999999">
<tr>
<th height="161"><h2><font color="#CC0000">รหัสขายสินค้า</font>
<input name="txtKeyword" type="text" size="30" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="ค้นหาสินค้า"></h2></th>
<th align="center"><a href="http://localhost/stock/sale/listsale.php">ค้นหารายการขายสินค้า</a></th>
<th align="center"><a href="http://localhost/stock/sale/showsale.php">ดูรายการขายสินค้าทั้งหมด</a></th>
</tr>
<?
if($_GET["txtKeyword"] != "")
{
$objConnect = mysql_connect("localhost","root","260952") or die("Error Connect to Database");
$objDB = mysql_select_db("sale");
mysql_query("SET character_set NAMES utf-8");
$strSQL = "SELECT * FROM stock_sale WHERE (Barcode LIKE '%".$_GET["txtKeyword"]."%')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
</table>
</form>
<table width="1024" border="1">
<tr>
<th width="120" align="center">รหัสสินค้า</th>
<th width="120" align="center">ชื่อสินค้า</th>
<th width="120" align="center">รหัสบาร์โค๊ดสินค้า</th>
<th width="120" align="center">ราคาสินค้า</th>
<th width="120" align="center">จำนวนสินค้า</th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr bordercolor="red" border="2">
<form id="id" name="form1" method="post" action="saleonline.php">
<td align="center"><input name="txtSaleID<?=$i;?>" type="text" id="SaleID" value="<?=$objResult["SaleID"];?>" /></td>
<td align="center"><input name="txtName<?=$i;?>" type="text" id="Name" value="<?=$objResult["Name"];?>" /></td>
<td align="center"><input name="txtBarcode<?=$i;?>" id="Barcode" value="<?=$objResult["Barcode"];?>" /></td>
<td align="center"><input name="txtPrice<?=$i;?>" type="text" id="Price" value="<?=$objResult["Price"];?>" /></td>
<td align="center"><input name="txtAmount<?=$i;?>" type="text" id="Amount" value="<?=$objResult["Amount"];?>" /></td>
<td align="center"><input name="edit_id" type="submit" id="edit_id" value="ส่งข้อมูล" />
</form>
</tr>
<?
}
?>
</table>
<form id="id" name="form1" method="post" action="saleonline.php">
<input type="submit" name="hdnLine" value="<?=$i;?>"></td>
</form>
<?
mysql_close($objConnect);
}
?>
</body>
</html>
ส่วนสคริป saleonline.php มีดังนี้ครับ
Code (PHP)
<?
$host = "localhost";
$user = "root";
$passwd = "260952";
$dbname = "sale"; //ชื่อฐานข้อมูล
$tblname = "report_sale";
mysql_db_query($dbname,"SET NAMES utf-8");
mysql_connect($host,$user,$passwd) or die("No Connect System");
mysql_select_db($dbname) or die("No Connect Database");
$sql="insert into $tblname (SaleID,Name, Barcode,Price,Amount,date,time) value ('".$_POST["txtSaleID$i"]."','".$_POST["txtName$i"]."','".$_POST["txtBarcode$i"]."','".$_POST["txtPrice$i"]."','".$_POST["txtAmount$i"]."',('".date("Y-m-d")."'),('".date("H:i:s")."'))";
$sql_query=mysql_db_query($dbname,$sql);
header("location:searchsale.php");
if($_REQUEST['edit_id'] != "")
{
$id = $_REQUEST['edit_id'];
$sql_show = "select * from stock_sale where SaleID = '$SaleID'";
$result_show = mysql_query($sql_show) or die(mysql_error());
$row_show = mysql_fetch_array($result_show);
}
mysql_close();
mysql_close($objConnect);
?>
จุดประสงค์คือ ต้องการยิงสินค้าครั้งที่ 1 แล้วข้อมูลจะโชว์ใน 1 row เมื่อยิงสินค้าครั้งที่ 2 ก็จะโชว์ 2 rows แต่ติดตรงที่เวลามีมากกว่า 2 rows จะบันทึกได้แค่ 1 row เองอ่ะครับก็งมมาหลายวันแล้วครับ รบกวนผู้รู้ช่วยแนะนำหน่อยนะครับ เพิ่งหัดทำและกำลังศึกษาอยู่ครับขอความกรุณาด้วยครับ ขอบคุณล่วงหน้าครับ
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2013-06-06 12:38:45 2013-06-06 13:46:34
|
|
|
|
|
Date :
2013-06-06 12:38:02 |
By :
เนตบ๊อจ้า |
View :
947 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมอีกนิดครับ
ขั้นตอนการยิงสินค้าเพื่อหารหัสสินค้าเทียบกับดาต้าเบสที่มีอยู่แล้วจะโชว์ข้อมูลที่บันทึกไว้ก่อนหน้านี้ เป็นแถวที่ 1 และจากนั้นก็ยิงสินค้าชิ้นที่ 2 ก็จะเป็น row2 แต่เวลากด submit จะได้แค่ สินค้าชิ้นใดชิ้นหนึ่งเองครับ ลองแก้มาหลายวันแล้วก็ยังไม่ได้ ลองหลายสคริปแล้ว รบกวนหน่อยนะครับพอดีเพิ่งหัดทำและเพิ่งจะสึกษาเป็นจริงเป็นจัง ขอบคุณมากครับ
|
|
|
|
|
Date :
2013-06-06 12:42:30 |
By :
เนตบ๊อจ้า |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|