这是我的代码:
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
)
)
为了实现上表,你需要改变什么以及在哪里?
更改第20行。您必须在选择名称中包含行id。
echo '<select class="inputsb" name="frekwencja_'.$row['id'].'[]" style="width:45px;">';
这应该会产生所需的结果。但附带说明一下,您的代码中存在sql注入漏洞。永远不要将变量直接插入sql字符串。您应该查看PDO中准备好的语句。此外,在项目中使用某种模板可能是个好主意。你不应该把php和html混在一起。
hello只需用这个替换您的选择
echo '<select class="inputsb" name="frekwencja['.$i.'][]" style="width:45px;">';
你应该得到你想要的