Reputation: 34
I'm inserting a multiple row data with foreach() loop. But I don't want to insert a particular row if its value is tax or discount. How do I do that.
my code:
<?php
if(isset($_POST['finalsave']))
{
foreach ($_POST['descr'] as $key => $descr)
{
$dept = mysql_real_escape_string($_POST['category']);
$idate = mysql_real_escape_string($_POST['idate']);
$desc1 = mysql_real_escape_string($descr);
$tags = mysql_real_escape_string($_POST['name'][$key]);
$location = mysql_real_escape_string($_POST['location'][$key]);
$war = mysql_real_escape_string($_POST['war'][$key]);
$qty = mysql_real_escape_string($_POST['qty'][$key]);
$rate = mysql_real_escape_string($_POST['rate'][$key]);
$finalamt = mysql_real_escape_string($_POST['finalamt'][$key]);
$sql2 = ("INSERT INTO `project`.`master_inventory` (`category`, `idate`, `descr`, `name`, `location`, `war`, `qty`, `rate`, `finalamt`)
VALUES ('".$dept."','".$idate."','".$desc1."','".$tags."','".$location."','".$war."','".$qty."','".$rate."','".$finalamt."')");
$sqlins = mysql_query($sql2);
//echo $sql2;
}
}
?>
Upvotes: 0
Views: 144
Reputation: 1191
Check whether the value is tax or discount before insert query.
As you said,descr
field in table contains the value tax
or discount
which is assigned to variable $desc1
<?php
if(isset($_POST['finalsave']))
{
foreach ($_POST['descr'] as $key => $descr)
{
$dept = mysql_real_escape_string($_POST['category']);
$idate = mysql_real_escape_string($_POST['idate']);
//this variable $desc1 will have the value tax or discount
$desc1 = mysql_real_escape_string($descr);
$tags = mysql_real_escape_string($_POST['name'][$key]);
$location = mysql_real_escape_string($_POST['location'][$key]);
$war = mysql_real_escape_string($_POST['war'][$key]);
$qty = mysql_real_escape_string($_POST['qty'][$key]);
$rate = mysql_real_escape_string($_POST['rate'][$key]);
$finalamt = mysql_real_escape_string($_POST['finalamt'][$key]);
//inserts only if $desc1 is not tax or discount
if(($desc1!="tax")||($desc1!="discount")
{
$sql2 = ("INSERT INTO `project`.`master_inventory` (`category`, `idate`, `descr`, `name`, `location`, `war`, `qty`, `rate`, `finalamt`)
VALUES ('".$dept."','".$idate."','".$desc1."','".$tags."','".$location."','".$war."','".$qty."','".$rate."','".$finalamt."')");
$sqlins = mysql_query($sql2);
}
}
}
?>
Upvotes: 0
Reputation: 4491
Put if
condition in foreach
loop like this:
<?php
if(isset($_POST['finalsave']))
{
foreach ($_POST['descr'] as $key => $descr) {
// this you have to do
if(($descr != 'tax') || ($descr != 'discount'))
{
$dept = mysql_real_escape_string($_POST['category']);
$idate = mysql_real_escape_string($_POST['idate']);
$desc1 = mysql_real_escape_string($descr);
$tags = mysql_real_escape_string($_POST['name'][$key]);
$location = mysql_real_escape_string($_POST['location'][$key]);
$war = mysql_real_escape_string($_POST['war'][$key]);
$qty = mysql_real_escape_string($_POST['qty'][$key]);
$rate = mysql_real_escape_string($_POST['rate'][$key]);
$finalamt = mysql_real_escape_string($_POST['finalamt'][$key]);
$sql2 = ("INSERT INTO `project`.`master_inventory` (`category`, `idate`, `descr`, `name`, `location`, `war`, `qty`, `rate`, `finalamt`)
VALUES ('".$dept."','".$idate."','".$desc1."','".$tags."','".$location."','".$war."','".$qty."','".$rate."','".$finalamt."')");
$sqlins = mysql_query($sql2);
//echo $sql2;
}
}
}
?>
Upvotes: 1
Reputation: 794
Hope this will helps you.
foreach ($_POST['descr'] as $key => $descr)
{
if(($descr !="tax")||($descr !="discount"))
{
//Write your logic here
}
}
Upvotes: 2