2015-06-09 53 views
-1

我有以下形式结构:只使用有价值的输入。一个多输入

<? 
$new_listing = listings::create(array(
    'living_area' => $_POST['living_area'] 
)); 
?> 

<input type="text" name="living_area" id="living_area"> spm 
... 
code 
... 
<input type="text" name="living_area" id="living_area2"> spm 

不仅是我想在数据库中发送哪些具有价值的输入。 如果我对两个输入使用相同的名称,我只会得到数据库中最后一个的结果。 关于如何获得数据库中第一个结果的任何想法,如果它有价值,第二个是空的?

预先感谢您。

+0

选择“where”子句和“COUNT()”或“num_rows”。甚至可以使用一个唯一的约束。 –

+0

,你确实有表单标签和post方法,*对吗?* - 另外,你不能有2x输入具有相同的名称属性;仅用于复选框或广播组。 –

+0

是的,它是后期的方法。我正在考虑禁用JavaScript的一个输入,但它可以变得非常混乱,因为我有很多字段在这种形式,需要选择类似的方式 –

回答

0
<?php 
$living_area_responses = array_filter($_POST['living_area'], 'strlen'); 

if(count($living_area_responses)) { 
    $new_listing = listings::create(array(
    'living_area' => $living_area_responses[0] 
)); 
} 
?> 

<input type="text" name="living_area[]" id="living_area"> spm 
... 
code 
... 
<input type="text" name="living_area[]" id="living_area2"> spm 

当然,这只适用于找到的第一个响应。如果您需要重复每个响应,只需循环访问$living_area_responses阵列即可。