Добрый день. У меня возникла следующая проблема. У меня есть страница редактирования материала и есть следующий код: PHP: <select class="form-control"> <option>[Выберите участника]</option> <?php $sql=mysql_query("SELECT id, nickname FROM members"); while($result = mysql_fetch_array($sql)) { $id = $result['id']; $nickname = $result['nickname']; printf('<option value="'.$id.'">'.$nickname.'</option>'); } ?> </select> Как понятно из кода, здесь нужно выбрать участника из списка, который есть в БД. Поскольку это страница редактирования, хотелось бы при открытии страницы видеть текущего участника. Каким образом это можно сделать?
Прописать атрибут selected по if-у. Где хранится текущий участник? И зачем тебе printf, если ты шаблоны подстановки не юзаешь?
PHP: $id = $_REQUEST['id']; $select_query = "SELECT * FROM battles WHERE battle_id = " . $id; $result = mysql_query($select_query); if ($result) { $battle = mysql_fetch_array($result); $project_id = $battle['project_id']; $branch_id = $battle['branch_id']; $season_id = $battle['season_id']; $member_l_one_id = $battle['member_l_one_id']; $member_l_two_id = $battle['member_l_two_id']; $member_r_one_id = $battle['member_r_one_id']; $member_r_two_id = $battle['member_r_two_id']; $video_url = $battle['video_url']; $status = $battle['status']; $type = $battle['type']; $judge_1_id = $battle['judge_1_id']; $judge_2_id = $battle['judge_2_id']; $judge_3_id = $battle['judge_3_id']; $judge_4_id = $battle['judge_4_id']; $judge_5_id = $battle['judge_5_id']; $judge_6_id = $battle['judge_6_id']; $judge_7_id = $battle['judge_7_id']; $leader_id = $battle['leader_id']; $rating = $battle['rating']; $member_one_score = $battle['member_one_score']; $member_two_score = $battle['member_two_score']; $winner_id = $battle['winner_id']; } else { die("Ошибка обнаружения баттла с ID {$id}"); } Вот здесь. Я не знаю, как использовать if внутри while
PHP: <?php $sql=mysql_query("SELECT id, nickname FROM members"); while($result = mysql_fetch_array($sql)) { $id = $result['id']; $nickname = $result['nickname']; $selected = ($battle['member_l_one_id']==$id) ? 'selected' : 'selected'; echo '<option value="'.$id.'" '.$selected.'>'.$nickname.'</option>'; } ?> Сделал так, думаю, что не правильно, к тому же он пытается добавить это к каждому пункту, поэтому активен последний пункт...
ты второе замени на '' чтобы пусто было когда не совпадает id, тогда selected будет только при совпадении, что тебе и нужно