2013-03-06 59 views
0

我使用從陣列中的環中插入數據DB的代碼。是有可能添加如果條件到MySQL插入查詢」

foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB 
{ 
mysql_query("INSERT INTO table (liq_sum, liq_name, bartender) 
VALUES ('$value','$key','$id'))"; 
} 

becuse我不需要該$值= 0,I運行另一個結果?查詢到從DB

mysql_query("DELETE FROM table WHERE liq_sum = 0"); 

刪除它們是有辦法在插入查詢,如果條件補充,而不是將它們插入和delting他們 我試着像somethink:

("INSERT INTO table (liq_sum, liq_name, bartender) 
VALUES ('$value','$key','$id') where '$value' > 0)"; 

沒有工作:(

謝謝。

+0

只需添加'如果($值> 0)'你的循環 – k102 2013-03-06 06:36:36

+0

內請儘量讓你的問題清楚。對你的格式有興趣。即大寫字母等。 – uvinod 2013-03-06 06:37:43

+0

@ k102它的工作。謝謝 – BenB 2013-03-06 06:49:01

回答

5

你可以做到這一點在PHP

foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB 
    { 
    if($value>0) 
    mysql_query("INSERT INTO table (liq_sum, liq_name, bartender) VALUES  ('$value','$key','$id')"); 
    } 
+0

工作:)非常感謝! – BenB 2013-03-06 06:46:20

3

檢查使用if語句中的值:

foreach ($sumdrinks1 as $key => $value) 
{ 
    if ($value > 0) { 
     ... // do insert 
    } 
} 

需要注意的是:mysql_擴展已被棄用,而你的代碼這種方式很容易受到SQL injection ,請使用PDO或準備好的語句。

+0

我很好看。 (我是新編程)謝謝 – BenB 2013-03-06 06:47:00

+0

@batz - 不客氣:) – 2013-03-06 06:47:35

0

你可以在php代碼本身檢查這個條件。

foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB 

{ 
    if($value > 0) { 
     mysql_query("INSERT INTO table (liq_sum, liq_name, bartender) VALUES ('$value','$key','$id'))"; 

    } 

} 
+0

@batz welcome .. – 2013-03-06 06:54:44