Это может быть сложно объяснить. Я создал систему расписания, в которой сотрудники могут вставлять в mysql db собственные записи расписаний. это прекрасно работает, но я дал им возможность редактировать элемент, который они вставили, поэтому у меня есть выпадающее меню, отображающее из mysql все доступные для них номера проектов, но я также хочу установить значение по умолчанию для раскрывающегося списка номер проекта, который они выбрали, когда они вставили запись (т. е. чтобы не вспоминать, какой проект был)
вот мой код:
$result1 = mysql_query("select project_no from `projects`") or die(mysql_error()); echo '<select name="project" class="project">'; while($row1 = mysql_fetch_array($result1)){ echo "<option selected='yes' value=".$row1['project_no'].">".$row1['project_no']."</option>"; } echo '</select>';
Запись хранится в таблице под названием timesheets, поэтому я могу сделать SELECT, но я не уверен, как установить правильный номер проекта в качестве значения по умолчанию в выпадающем списке выше?
Имеет ли это смысл?
Сохраните номер проекта в переменной, например $ projnum, и сравните его с каждым значением.
$result1 = mysql_query("select project_no from `projects`") or die(mysql_error()); echo '<select name="project" class="project">'; while($row1 = mysql_fetch_array($result1)){ echo "<option "; if ($row1['project_no'] == $projnum) { echo 'selected="selected"; } echo " value=".$row1['project_no'].">".$row1['project_no']."</option>"; } echo '</select>';
$project_to_select = 42; while($row1 = mysql_fetch_array($result1)){ echo "<option " . ($row1['project_no'] == $project_to_select ? "selected='selected'" : "") . " value=".$row1['project_no'].">".$row1['project_no']."</option>"; }
+ Изменить
selected='yes'
к
selected='selected'