rajeshkr Posted March 21, 2014 Share Posted March 21, 2014 (edited) 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 March 21, 2014 by rajeshkr Quote Link to comment https://forums.phpfreaks.com/topic/287145-problem-of-undefined-offset-29/ Share on other sites More sharing options...
Ch0cu3r Posted March 21, 2014 Share Posted March 21, 2014 (edited) 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 March 21, 2014 by Ch0cu3r Quote Link to comment https://forums.phpfreaks.com/topic/287145-problem-of-undefined-offset-29/#findComment-1473444 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.