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

Edited by rajeshkr
Link to comment
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);
Edited by Ch0cu3r
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.