2017-03-16 139 views
0

最后一个疑问,该foreach不打印在框中复制表格选择框由阵列

foreach是在代码中间的时候在表外。

enter image description here

上表中的选项值是空的,当打印表格的外部。

enter image description here

$options = array("0.00","0.05","0.10","0.15","0.20","0.25","0.30","0.35","0.40","0.45","0.50","0.55","0.60","0.65","0.70","0.75","0.80","0.85","0.90","0.95","1"); // ◄■■ OPTIONS ARE STATIC (ALWAYS THE SAME). 

     $table = $table."</tr>"; 

     for($i = 0 ; $i <$uCount ; $i++){ 
     $table = $table."<tr><td>".$utilizador[$i]."</td>"; 

     for($j=0;$j<$carCount;$j++){ 
     $val= htmlspecialchars($s2[$j], ENT_HTML5 | ENT_COMPAT, 'UTF-8'); 

     $table = $table."<td>"."<select name=\'corp_resp&{$row_menuid['menuId']}&{$_SESSION['UtilizadorID']}&{$dateTime}&{$toEchosave}'.$val.'_'.$utilizador[$i].'\>"; 
     foreach ($options as $opt) 
     { 
       echo "<option value='$opt'>$opt</option>\n"; 
       echo "</select>\n"."</td>"; 
      } 
     } 
    $table = $table."</tr>"; 
} 
$table = $table."</form>"; 
echo $table; 
+2

u能在细节要在 – Bharat

+0

阵什么有4个位置,我想计数或认出由名字例如雷诺的位置和克隆这种形式解释,取决于职位的数量。如果是2将回复2如果是6将回复6倍那个形式。 –

+0

您正在寻找如何循环php数组我猜。 https://www.w3schools.com/php/showphp.asp?filename=demo_array_num_loop – Samarth

回答

1

嘿,你寻找类似this.Please让我知道,如果它帮助。

**在你的代码

更改代码的此块建议编辑

foreach ($options as $opt) 
{ 
    echo "<option value='$opt'>$opt</option>\n"; 
    echo "</select>\n"."</td>"; 
} 

foreach ($options as $opt) 
{ 
     $table = $table."<option value='$opt'>$opt</option>\n"; 
} 
$table = $table."</select>\n"."</td>"; 

什么错误,你正在为你打印前的选项字符串即使完整的表格结构已经正确创建。 只需将这些选项添加到表格变量并在每次处理完成后打印。

所以整个代码会是这个样子

$form = "<form onsubmit=\"return validate();\" id=\"teste\" method=\"post\" action=\"teste.php\">"; 
    $table = $form."<table><tr><td>Parametro</td>"; 
    $carCount = count($s2); 
    $uCount = count($utilizador); 
    for($x = 0; $x < $carCount; $x++){ 
     $val= htmlspecialchars($s2[$x], ENT_HTML5 | ENT_COMPAT, 'UTF-8'); 
     $table= $table."<td>".$val."</td>"; 
    } 

    $options = array("0.00","0.05","0.10","0.15","0.20","0.25","0.30","0.35","0.40","0.45","0.50","0.55","0.60","0.65","0.70","0.75","0.80","0.85","0.90","0.95","1"); // ◄■■ OPTIONS ARE STATIC (ALWAYS THE SAME). 

      $table = $table."</tr>"; 

      for($i = 0 ; $i <$uCount ; $i++){ 
      $table = $table."<tr><td>".$utilizador[$i]."</td>"; 

      for($j=0;$j<$carCount;$j++){ 
      $val= htmlspecialchars($s2[$j], ENT_HTML5 | ENT_COMPAT, 'UTF-8'); 

      $table = $table."<td>"."<select name=\'corp_resp&{$row_menuid['menuId']}&{$_SESSION['UtilizadorID']}&{$dateTime}&{$toEchosave}'.$val.'_'.$utilizador[$i].'\>"; 
      foreach ($options as $opt) 
      { 
       $table = $table."<option value='$opt'>$opt</option>\n"; 
      } 
      $table = $table."</select>\n"."</td>"; 
      } 
     $table = $table."</tr>"; 
    } 
    $table = $table."</form>"; 
    echo $table; 
+0

几乎没有,唯一性差异是要创建您选择选项,我想内部回声做(” \t $ utilizador $表格​​ “); –

+0

检查编辑。你几乎得到了我的想法。 –

+0

这取决于你想如何在html上显示它。如果你想显示不同,你必须做相应的调整。你能否在关于你想要的页面的html和来自哪个数据源的选项值的问题中提供更多的细节。 select中的选项是静态的还是动态的? – Samarth