2016-04-15 36 views
-3

這是我的代碼:如何轉換代碼的形式獲得上述陣列

for ($g=1; $g<=$godziny; $g++) 
{ 
    echo '<td style="text-align:center; padding: 5px 5px 5px 5px; width:'.(90/$godziny).'%;"><span class="text_19">'.((strlen($g) == 1) ? '0'.$g : $g).'</span></td>'; 
} 
echo '</tr>'; 
$numrows = 0; 
$result = db_query($dba, "select * from ed_frekwencja where id_ucznia='$id_ucznia' and status='ok' order by data_d, id asc"); 
while ($row = db_fetch_array($result)) 
{ 
    echo '<input type="hidden" name="frekwencja_id[]" value="'.$row['id'].'">'; 

    $arrf = explode('|', $row['frekwencja']); 
    echo '<tr class="onclickclass" style="text-align:center;">'; 
    echo '<td style="text-align:center; padding: 5px 5px 5px 5px;"><span class="text_26">'.$row['data_d'].'</span></td>'; 
    for ($i=1; $i<=(empty($godziny) ? 1 : $godziny); $i++) 
    { 
     echo '<td>'; 
     echo '<select class="inputsb" name="frekwencja[]" style="width:45px;">'; 
     $kol = array('', 'x', 'y', 'z'); // array danych 
     foreach($kol as $value) 
     { 
      echo '<option value="'.$value.'" '.(($value == $arrf[$i-1]) ? 'selected' : '').'>'.$value.'</option>'; 
     } 
     echo '</select>'; 
     echo '</td>'; 
    } 
    echo '</tr>'; 
    $numrows++; 
} 
echo '</table>'; 

我現在有這樣一個字符數組:

Array 
(
    [frekwencja_id] => Array 
     (
      [0] => 1 
      [1] => 5 
      [2] => 3 
      [3] => 4 
     ) 

    [frekwencja] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
      [3] => x 
      [4] => y 
      [5] => z 
      [6] => x 
      [7] => y 
      [8] => z 
      [9] => x 
      [10] => y 
      [11] => z 
     ) 
) 

,並需要得到:

Array 
(
    [frekwencja_id] => Array 
     (
      [0] => 1 
      [1] => 5 
      [2] => 3 
      [3] => 4 
     ) 
    [frekwencja_1] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
     ) 
    [frekwencja_5] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
     ) 
    [frekwencja_3] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
     ) 
    [frekwencja_4] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
     ) 
) 

什麼和你需要改變以實現上述表?

+1

你的問題是不可理解的,請更新它,並添加更多細節你將要實現的,否則它很難搞清楚。 – Tomasz

回答

0

你好只需更換你的選擇與此

echo '<select class="inputsb" name="frekwencja['.$i.'][]" style="width:45px;">'; 

,你應該讓你在找什麼

1

變更線20必須包括在選擇名行ID。

...

echo '<select class="inputsb" name="frekwencja_'.$row['id'].'[]" style="width:45px;">'; 

...

這將產生預期的效果。但作爲一個方面說明,您的代碼中存在sql注入漏洞。您不應該直接將變量插入到sql字符串中。您應該查看PDO的準備報表。在項目中使用某種模板也可能是一個好主意。你不應該混合PHP的HTML。