Всем привет. Вопрос? Как привязать в форме поиска поле select к базе mysql. Есть выподающее меню: список стран, берется из базы, необходим запрос который при выборе страны выводил бы данные из другой таблицы. Сделал такой код: Код (Text): <form name='input' method="post" id="searchform" action='http://localhost:8888/forum/form1.php'> <select class='input' type='select' name='id'> <?php $sql = mysql_query("SELECT id, stran FROM `wp_countri`");?> <option value='id' disabled selected='selected'>Выберите страну</option> <?php while($row = mysql_fetch_assoc($sql)) { $id=$row['id']; echo '<option value="'. $row['id'] .'">'. $row['stran'] .'</option>'; } ?> </select> <?php $sql = mysql_query("SELECT event_subject FROM `phpbb_calendar_events` WHERE 'id' = '".$_POST['id']."'");?> <?php while($row = mysql_fetch_assoc($sql)) { echo '<option value="'. $row['event_subject'] .'"></option>'; } if (isset($_POST['id'])) {$country1=$_POST['id'];} echo "".$country1."<br/>"; ?> <input type="submit" id="searchsubmit" name ="id" value="найти" /> </form> Список выбирается, а дальше пишет на странице ошибку searchform4.php on line 23: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given Подскажите в чем ошибка. Спасибо.
PHP ругается, на то что ф-я mysql_fetch_assoc() ожидает в качестве параметра "ресурс" (результат запроса SQL) а ей передают boolean, обычно такое случается когда запрос составлен не верно и выполниться не может. На первый взгляд ошибка PHP: WHERE 'id' = $_POST['id'] а нужно PHP: WHERE `id` = $_POST['id'] Еще, лично мне удобнее записывать строки вот таким образом, не нужно лишних точек и кавычек. PHP: echo "<option value='{$row['id']}'>{$row['stran']}</option>";
Спасибо! Но косые кавычки не помогли. Скорей всего запрос не связан с sectom или связан не правельно, в этом то ивопрос.