如何在更新数据库中的列时跳过数组的空值

时间:2014-05-03 09:00:19

标签: php sql arrays

我是PHP的新手。我想问一下在更新数据库中的列时如何跳过数组中的空值。我的代码是这样的:

$reference = $_POST['ref'];
$userDoc = $_POST['userDoc'];
$doc = array_filter($userDoc);
$ref = array_filter($reference);

for($j=0; $j<=sizeof($doc_ent);$j++){
$docu = $doc_ent[$j];
echo $ref[$j];
echo $doc[$j];

$update = sqlsrv_query($conn2, "update stock_picking_se set name = '$internal$ref[$j]', user_doc = '$doc[$j]' where doc_entry = '$docu'");

}

我的复选框用于过滤我的数据:

checkbox1:a checkbox2 :(空白数据) checbox3:b checkbox4 :(空白数据) checkbox5:c

但是当我处理时,它会更新现有的列但是继续在数组中插入空白值,结果是:

柱:

name user_doc

1 a

(空白)(空白)

2 b

请注意, $ doc_ent 是所选的复选框。我希望结果插入列 name 1,2,3和列 user_doc a,b,c中。 任何帮助将不胜感激。对不起,我无法发布截图图片。 先进的先知。

2 个答案:

答案 0 :(得分:0)

你必须提出一个条件($ reference!=&#39;&#39;&amp;&amp; $ userDoc!=&#39;&#39;){放置你的查询}。然后它会自动跳过空白字段。

答案 1 :(得分:0)

使用empty();

empty - 确定变量是否为空

 if(!empty($reference) && !empty($userDoc)) { Put your query } . 
相关问题