2017-02-10 64 views
0

我用foreach()循环插入多行数据。但如果它的价值是税或折扣,我不想插入特定的行。我怎么做。插入多个条件

我的代码:

<?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; 
    } 
} 
?> 
+0

'如果其值税或discount' - 哪个值? –

+0

对不起。我应该提到。它'$ _ POST [ 'DESCR']'@Pathik Vejani – vino

+0

然后只要把if条件之前'foreach'循环 –

回答

2

希望这将帮助你。

foreach ($_POST['descr'] as $key => $descr) 
    { 
    if(($descr !="tax")||($descr !="discount")) 
    { 
     //Write your logic here 
    } 
} 
+0

试过 – vino

+0

能否请您分享您$ _ POST [“DESCR”]输出或键和值输出。 –

+0

** taxIBookIpad mini **购买条目已成功保存 – vino

0

检查值是否插入查询税前或折扣。

正如你所说的,在表descr字段包含的值赋给变量$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); 
    } 
} 
} 
?> 
+0

没有运气:(。插入所有的行,包括与税务行。 – vino

+0

@vino这在你的插入查询字段具有税收或折扣值? – affaz

+0

@vido用'DESC1替换'descr' '在'if'条件 – affaz

1

taxdiscountif条件foreach循环是这样的:

<?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; 
    } 
    } 
} 
?> 
+0

我有三个值,如税,iPad和iMac。它插入所有三行。我只想要插入iPad和iMac。 – vino

+0

谢谢。不过插入的所有行含税:(对于'$ descr' – vino

+1

@vino打印的价值,但插入的所有行,包括与税务行:( –