2017-04-12 63 views
0

我已经得到了用户的从数据库(我在PHP中工作,在崇高使用笨)在数组开始索引处理 - PHP

我有一个观点,即有选择的数组该节目显示所有用户,所以在我看来,在顶部,我有这样的代码(假设数组有3项):

<?php 
$optionsUsers = array(); 

$qtyUsers = count($users); --> 

if($qtyUsers > 0){ 
    $optionsUsers[0]['name'] = 'Choose an option'; 
    for($i=0; $i < $qtyUsers; $i++){ 
     $optionsUsers[$i]['id'] = $users[$i]["userId"]; 
     $optionsUsers[$i]['name'] = $users[$i]["username"]; 
    } 
} 
?> 

然后,在选择部分,我有这样的:

<select id="cursadaUsuario"> 
     <?php 
     $qtyOptionsUsers = count($optionsUsers); 
     if($qtyOptionsUsers>0){ 
      for($i=0; $i<$qtyOptionsUsers; $i++){ 
      if($i == 0){ 
       echo '<option value="0" disabled selected>Please select an option</option>'; 
      }else{ 
       echo '<option value="'.$optionsUsers[$i]['id'].'">'.$optionsUsers[$i]['name'].'</option>'; 
      } 
      } 
     }else{ 
      echo '<option value="">There are no options available</option>'; 
     } 
     ?> 
</select> 

我已将其分配给$ optionsUsers数组[0]中的字符串“选择一个选项”,因为当迭代THAR ARRAY在选择时,我想显示它为禁用,只是像往常一样重复其余元素

问题是,数组$用户启动在0 - >我在foreach检查它和所有的用户都显示居然有:

foreach ($users as $key => $value){ 
     print_r($users); 
    }); 

但是我想[0]是显示,“选择你的选择”一文,因此,如果我将文本赋给[0],数组$ users中的第一项永远不会显示:(在本例中,它将遍历文本和2个项目,而不是3)

如果删除文本到[O],只是迭代阵列,所有的用户都显示正确,没有人失踪,但这意味着...没有文字告诉“选择一个选项”:/

我希望它看起来像这样 - >http://www.hkvstore.com/phpreportmaker/doc/images/dropdownselect.png,所以我想让文本“选择你的选项”显示为AND禁用,然后是数组的元素,在我的情况下是用户列表。

注意:我想继续使用'for'循环。 注2:这个(Add option selected disabled in PHP)与我想达到的类似,但是我仍然认为我不能只是改变键并将我自己分配给用户列表,可以改变,添加,删除等。:/

想法?提前致谢! :)

回答

1

除非我不理解你,这是一样的“没有可供选择”选项 - 它属于外循环:

​​
+0

哦,是的!非常感谢!我怎么没有看到!? xD谢谢你!正是我想要的! :D – xragdollqueen

1

你需要从指数1,而推用户数据比从0索引。试试下面的代码来修复选择选项

for($i=0; $i <= $qtyUsers; $i++){ 
    $optionsUsers[$i+1]['id'] = $users[$i]["userId"]; 
    $optionsUsers[$i+1]['name'] = $users[$i]["username"]; 
} 
+0

嗨!谢谢!我其实已经选择了以前的答案,但是我只是出于好奇而考验你,哈哈,我没有这样想过! :○ – xragdollqueen