У меня есть функция while()
, которая зацикливает строку данных в моей таблице.
Теперь мне нужно иметь выпадающий список в пределах одного столбца каждой строки.
Это выпадающее меню выполняется, используя цикл.
Итак, вот функция, которая создает выпадающее меню:
function createDropdown($total)
{
$i = 1;
echo "<select>";
while($i <= $total)
{
echo "<option value = '$i' id =* '$i'>$i</option>";
$i++;
}
echo "</select>";
}
Чтобы распечатать таблицу:
while($row1 = mysql_fetch_array($result1))
{
print("<tr>");
printf("<td>%s %s</td>", $row1["fname"], $row1["lname"]`);
printf("<td>".createDropdown($count)."</td>");
printf("<td colspan = '2'>%s</td>",$count);
printf("<td><span id = 'attendance'>111</span></td>");
print("</tr>");
}
Итак, теперь у меня много выпадающих списков, которые дают мне то, что я хочу.
Проблема в том, что мне нужно опубликовать все это на следующей странице. Это означает, что идентификатор каждого раскрывающегося списка должен быть каким-то образом помещен в массив.
В любом случае я могу это сделать? Спасибо заранее.
Чтобы сделать все более ясным, <select>
может иметь любой ID, но проблема в том, что каждый выпадающий список будет иметь одинаковый идентификатор. При использовании $_POST
я получаю только значение из последнего раскрывающегося списка, а не все из них. Мне нужно массировать выпадающие окна, с которыми у меня были проблемы в течение некоторого времени.
Как насчет этого (извините, я также немного не понимаю, о чем вы спрашиваете):
function createDropdown($num, $total)
{
$i = 1;
$result = "<select id='sel$num' name='sel$num'>";
while($i <= $total)
{
$result .= "<option value = '$i' id = '$i'>$i</option>";
$i++;
}
$result .= "</select>";
return $result;
}
$num = 0;
while($row1 = mysql_fetch_array($result1))
{
print("<tr>");
printf("<td>%s %s</td>", $row1["fname"], $row1["lname"]);
printf("<td>".createDropdown($num++, $count)."</td>");
printf("<td colspan = '2'>%s</td>",$count);
printf("`111");
print("");
}
Я изменил ваше эхо в вашей функции и вместо этого вернул строку (я думаю, что это лучший стиль), а в поле выбора будут указаны имя (sel0, sel1, sel2 и т.д.)
Вам нужно передать $id в качестве параметра функции createDropDown()
:
function createDropdown($total, $id = 'somedefaultvalue') {
echo "<select id=\"$id\">";
for (...) {
...
}
echo "</select>"
}