Jump to content

Problem of Undefined offset: 29.


rajeshkr

Recommended Posts

hi, I am trying to save some textbox array into database , i have write some code but it giving error, i have searched but couldn't find the reason of error. Can you help me out in this. 

<?php
require_once("config.php");
if(isset($_POST['save'])){
//$slno=$_POST['slno'];
//echo "hello"." ".$slno;
$customer_id="1";
$customer_name="Mr.Rajesh";
$customer_user_name="rkr";
$date=date('d-m-Y');
$time=date('h:m:i:A');

$post_count = count($_POST['slno']);
$sl_no = array();
$album_name = array();
$paper_used = array();
$finishing = array();
$price = array();
$vat = array();
$total_amt = array();

$sl_no = $_POST['slno'];
$album_name = $_POST['album_name'];
$paper_used = $_POST['paper_used'];
$finishing = $_POST['finishing'];
$price = $_POST['price'];
$vat = $_POST['vat'];
$total_amt = $_POST['total_amt'];
for ($i = 0; $i <= $post_count; $i++)
{
$sql[] = "INSERT INTO customer_album_price(customer_id, customer_name, customer_user_name, sl_no, album_name, paper, finish, price, vat, total_amt, date, time) VALUES ($customer_id','$customer_name','$customer_user_name','".$sl_no[$i]."','".$album_name[$i]."','".$paper_used[$i]."','".$finishing[$i]."','".$price[$i]."','".$vat[$i]."','".$total_amt[$i]."','$date','$time')";
}
foreach ($sql as $query)
{
mysqli_query($con, $query);
}

}
?>
<!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>

<body >
<form id="registration" name="registration" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<?php

$query_for_result=mysqli_query($con,"SELECT * FROM album ORDER BY id ASC");
$num=mysqli_num_rows($query_for_result);
mysqli_close($con);

?>
<table >
<tr>
<td>Sl.No..</td>
<td >Item</td>
<td >Paper</td>
<td >Finish</td>
<td >Price</td>
<td >Vat</td>
<td >Total Amount</td>

</tr>

<?php

$i=0;

while($row = mysqli_fetch_assoc($query_for_result))
{
$f1=$row['id'];
$f2=$row['album_name'];
$f3=$row['paper_used'];
$f4=$row['finishing'];
$f5=$row['price'];
$f6=$row['vat'];
$f7=$row['total_amt'];

$id=$i+1;
//echo $id;
?>
<tr>
<td><input id="slno" name="slno[]" value="<?php echo $f1; ?>" type="text" style="width:20px;"/></td>
<td><input id="album_name" name="album_name[]" value="<?php echo $f2; ?>" type="text" style="width:150px;"/></td>
<td><input id="paper_used" name="paper_used[]" type="text" value="<?php echo $f3; ?>" style="width:85px;"/></td>
<td><input id="finishing" name="finishing[]" value="<?php echo $f4; ?>" type="text" style="width:90px;"/></td>
<td><input id="price" name="price[]" value="<?php echo $f5; ?>" type="text" style="width:25px;"/></td>
<td><input id="vat" name="vat[]" type="text" value="<?php echo $f6; ?>" style="width:35px;"/></td>
<td><input id="total_amt" name="total_amt[]" value="<?php echo $f7; ?>" type="text" style="width:50px;"/></td>

</tr>
<?php
$i++;

}

?>
<tr>
<td colspan="7" ><input name="save" value="Save" id="save" type="submit" style="width:83px;" /></td>

</tr>
</table>
</form>

</body>
</html>

Thanks

Link to comment
https://forums.phpfreaks.com/topic/287145-problem-of-undefined-offset-29/
Share on other sites

if you are mysqli then at least us prepare statements

 

So change

$post_count = count($_POST['slno']);
$sl_no = array();
$album_name = array();
$paper_used = array();
$finishing = array();
$price = array();
$vat = array();
$total_amt = array();

$sl_no = $_POST['slno'];
$album_name = $_POST['album_name'];
$paper_used = $_POST['paper_used'];
$finishing = $_POST['finishing'];
$price = $_POST['price'];
$vat = $_POST['vat'];
$total_amt = $_POST['total_amt'];
for ($i = 0; $i <= $post_count; $i++)
{
$sql[] = "INSERT INTO customer_album_price(customer_id, customer_name, customer_user_name, sl_no, album_name, paper, finish, price, vat, total_amt, date, time) VALUES ($customer_id','$customer_name','$customer_user_name','".$sl_no[$i]."','".$album_name[$i]."','".$paper_used[$i]."','".$finishing[$i]."','".$price[$i]."','".$vat[$i]."','".$total_amt[$i]."','$date','$time')";
}
foreach ($sql as $query)
{
mysqli_query($con, $query);
}

to

// prepare the query
$stmt = mysqli_prepare($con, 
                       'INSERT INTO customer_album_price
                            (customer_id, customer_name, customer_user_name, sl_no, album_name, paper, finish, price, vat, total_amt, date, time) 
                        VALUES 
                            (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');

// bind the variables to be used in the query
mysqli_bind_param($stmt, 'ississsiiiss', $customer_id, $customer_name, $customer_user_name, $sl_no, $album_name, $paper_used, $finishing, $price, $vat, $total_amt, $date, $time);

foreach($_POST['slno'] as $index => $sl_no)
{
    $album_name = $_POST['album_name'][$index];
    $paper_used = $_POST['paper_used'][$index];
    $finishing  = $_POST['finishing'][$index];
    $price      = $_POST['price'][$index];
    $vat        = $_POST['vat'][$index];
    $total_amt  = $_POST['total_amt'][$index];

    mysqli_stmt_execute($stmt); // execute prepared statement
}

mysqli_stmt_close($stmt);

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.