请告诉我我错过了什么。当我按下提交按钮时,错误小狗如下。
注意:未初始化的字符串偏移量:0 in C:''xampp''htdocs''spa315''order.php 在第 106 行
注意:未初始化的字符串偏移量:0 in C:''xampp''htdocs''spa315''order.php 在第 107 行
注意:未初始化的字符串偏移量:0 in C:''xampp''htdocs''spa315''order.php 在第 108 行
注意:未初始化的字符串偏移量:0 in C:''xampp''htdocs''spa315''order.php 在第 109 行
错误来自
$spa_order_desc = $spa_order_desc1[$i];
$spa_order_qty = $spa_order_qty1[$i];
$spa_order_unit_prc = $spa_order_unit_prc1[$i];
$spa_order_amt = $spa_order_amt1[$i];
请参考下面的代码。
<!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>
</head>
<!--Add & delete rows from table dynamically-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(function(){
$('#addRow').click(function(){
var html = $('#row_template').html();
$('#dataTable').append(html);
});
$('#deleteRow').click(function(){
$('#dataTable .mychkbox:checked').parents('tr').remove();
calc_ttl();
});
$('#dataTable').on('change','.select-desc',function(){
var cur_val = $(this).val();
$(this).parents('tr').find('input[name="spa_order_unit_prc"]').val(cur_val);
});
$('#dataTable').on('keyup','input[name="spa_order_qty"]', function(){
var qty = +$(this).val();
var unit = +$(this).parents('tr').find('input[name="spa_order_unit_prc"]').val();
$(this).parents('tr').find('input[name="spa_order_amt"]').val(qty*unit);
calc_ttl();
});
});
</script>
<body>
<form action="" method="post" name="form_order">
<p>
<input type="button" value="Add Treatment" id="addRow" />
<input type="button" value="Remove Treatment" id="deleteRow" />
</p>
<table id="dataTable" class="form" border="1">
<tr>
<td></td>
<td>No.</td>
<td>Description</td>
<td>Qty</td>
<td>Unit Price</td>
<td>Amount</td>
</tr>
</table>
<!-- table row template here -->
<table id="row_template" style="display:none">
<tr>
<td><input type="checkbox" name="chk[]" class="mychkbox" /></td>
<td>1</td>
<td>
<select name="spa_order_desc" id="spa_order_desc" class="select-desc">
<option value="">Select Treatment</option>
<?php
while($dd=mysql_fetch_array($get_tm)) {
?>
<option value="<?php echo $dd['tm_unit_prc']?>"><?php echo $dd['tm_abb'] ?> - <?php echo $dd['tm_desc'] ?></option>
<?php
}
?>
</select>
</td>
<td>
<input type="text" name="spa_order_qty" id="spa_order_qty" size="5">
</td>
<td>
<input type="text" name="spa_order_unit_prc" id="spa_order_unit_prc" readonly size="10">
</td>
<td>
<input type="text" name="spa_order_amt" id="spa_order_amt" readonly size="10">
</td>
</tr>
</table>
<input type="submit" name="Submit" value="Create">
</form>
</body>
</html>
<?php
//including the database connection file
include_once("config_db.php");
//getting data from the fields
if(isset($_POST['Submit']))
{
$spa_order_desc1 = $_POST['spa_order_desc'];
$spa_order_qty1 = $_POST['spa_order_qty'];
$spa_order_unit_prc1 = $_POST['spa_order_unit_prc'];
$spa_order_amt1 = $_POST['spa_order_amt'];
for($i=0; $i < count($spa_order_desc1); $i++) {
$spa_order_desc = $spa_order_desc1[$i];
$spa_order_qty = $spa_order_qty1[$i];
$spa_order_unit_prc = $spa_order_unit_prc1[$i];
$spa_order_amt = $spa_order_amt1[$i];
}
//insert data to database
$insert_spa_o_dtl=mysql_query("INSERT INTO tb_spa_order_details(spa_order_desc,spa_order_qty,spa_order_unit_prc,spa_order_amt) VALUES('$spa_order_desc','$spa_order_qty','$spa_order_unit_prc','$spa_order_amt')");
}
?>
发生此错误是因为您将普通变量视为数组。尝试重命名表单元素,如下所示:
"spa_order_desc"到"spa_order_desc[]"
"spa_order_qty"到"spa_order_qty[]"
"spa_order_unit_prc"到"spa_order_unit_prc[]"
"spa_order_amt"到"spa_order_amt[]"
此外,将插入查询放在循环中,以便为上一步中的每个输入插入。
for($i=0; $i < count($spa_order_desc1); $i++) {
$spa_order_desc = $spa_order_desc1[$i];
$spa_order_qty = $spa_order_qty1[$i];
$spa_order_unit_prc = $spa_order_unit_prc1[$i];
$spa_order_amt = $spa_order_amt1[$i];
$insert_spa_o_dtl=mysql_query("INSERT INTO tb_spa_order_details(spa_order_desc,spa_order_qty,spa_order_unit_prc,spa_order_amt) VALUES('$spa_order_desc','$spa_order_qty','$spa_order_unit_prc','$spa_order_amt')");
}