/    Sign up×
Community /Pin to ProfileBookmark

Problem of Undefined offset: 29.

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.

[CODE]<?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>[/CODE]

Thanks

to post a comment
PHP

2 Comments(s)

Copy linkTweet thisAlerts:
@Sup3rkirbyMar 21.2014 — Your error seems to be related to the [B]$post_count[/B] variable. When you set this variable you are using the [B]count()[/B] function which is used to count the number of elements in an array. However your [B]$_POST['slno'][/B] is not an array, it's a string. Thus the [B]$post_count[/B] variable does not get set and then later when you try to run your for loop, it fails because [B]$post_count[/B] doesn't have a proper value.

If you are just trying to get the value of the slno field then you should convert the string in to a number, using one of the two options below:
[CODE]
$post_count = intval($_POST['slno']);
$post_count = (int)$_POST['slno'];
[/CODE]
Copy linkTweet thisAlerts:
@RajeshkrathorauthorMar 22.2014 — Hi,

Solved, It was a loop problem in for loo,

for ($i = 0; $i < $post_count; $i++)// remove "="

thanks
×

Success!

Help @Rajeshkrathor spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.19,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...