2017-03-16 83 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