2017-02-10 8 views
0

Ich füge mehrere Zeilen Daten mit foreach() Schleife. Aber ich möchte keine bestimmte Zeile einfügen, wenn der Wert Steuer oder Rabatt ist. Wie mache ich das.mehrere Zeilen mit Bedingungen einfügen

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

'wenn sein Wert ist Steuer oder Rabatt '- welcher Wert? –

+0

Es tut mir leid. Ich hätte es erwähnen sollen. Seine '$ _POST ['descr']' @Pathik Vejani – vino

+0

dann einfach, wenn Bedingung vor 'foreach' Schleife –

Antwort

2

hoffen, dass dies hilft dir.

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

versuchte es, aber fügt alle Zeilen einschließlich Zeile mit Steuer :( – vino

+0

Können Sie bitte teilen Sie $ _POST ['descr'] Ausgabe oder Schlüssel-und Wertausgabe –

+0

** taxIBookIpad mini ** Kaufeintrag erfolgreich gespeichert – vino

0

prüfen, ob der Wert Steuer oder Rabatt vor dem Einsetzen Abfrage.

Wie Sie sagten, descr Feld in der Tabelle enthält den Wert tax oder discount, die variable $desc1

zugeordnet
<?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

Kein Glück :(. Fügt alle Zeilen einschließlich Zeile mit Steuer ein. – vino

+0

@vino welches Feld in Ihrer Einfügeabfrage den Steuer- oder Rabattwert hat? – affaz

+0

@vido 'descr mit' desc1 ersetzen 'in der' if' Bedingung – affaz

1

if Zustand in foreach Schleife so:

<?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

Ich habe drei Werte wie Steuern, iPad und iMac. Es fügt alle drei Zeilen ein. wo ich nur iPad und iMac einfügen möchte. – vino

+0

Danke. Fügt immer noch alle Zeilen einschließlich Steuern :( – vino

+1

@vino Druckwert für '$ descr' –

Verwandte Themen