здравствуйте. только начал программировать на PHP. нужно вывести таблицу из БД на страницу и сделать для нее различные фильтры. столкнулся с двумя проблемами: 1. фильтры задаются чекбоксами и текстовыми полями и значения принимаются кнопкой submit. всё работает и таблица принимает фильтры, но после нажатия кнопки все элементы фильтров принимают начальные значения, а не остаются в тех, которые я задал перед нажатием. как сделать, чтобы таблица на странице обновлялась, а все остальное нет? 2. таблицу вывести у меня получилось только задавая прорисовку каждого столбца и шапки в отдельности. можно ли сделать, чтобы и столбцы и строки из выборки сами прорисовывались вместе с шапкой заголовков таблицы? заранее спасибо.
ты же имеешь о них представление. как сделать чекбокс зачеканым? http://htmlbook.ru/html/input/checked Добавлено спустя 28 секунд: шапку до цикла отрисуй само собой
с выставлением начального состояния чекбоксов я разобрался, но когда я вручную на странице изменяю их начальное состояние и нажимаю submit, то они снова возвращаются в начальное состояние, а не остаются в том, которое я задал вручную. а нужно, чтобы они не сбрасывались а дефолт. по поводу таблицы, я имел в виду, что не могу сделать сам и не получается найти рабочий код, как сделать, чтобы и шапка и вся таблица рисовались сами циклами. сейчас у меня только строки так прорисовываются, а шапку и столбцы я рисую вручную, прописывая отдельно каждый столбец и шапку для него.
новая страница - новые чекбоксы. если тебе прислали параметры, ты должен сам нужные чекбоксы сделать активными
начальные состояния текстовых полей и чекбоксов у меня прописаны в <form>, а как из PHP передать им передать новые состояния, которые они должны принять после обновления страницы?
такой вот у меня код. что нужно сделать, чтобы состояния чекбоксов сохранялись после обновления страницы, а не возвращались в исходное положение? никак не получается... Код (Text): <html> <body> <form method = "post"> Отображаемые столбцы:<br/> <input type = "checkbox" name = "cb1" checked="true" value="DATE_FORMAT(ubi_datvu,'%d.%m.%Y') as 'Дата выявления уязвимости',">Дата выявления уязвимости<br/> <input type = "checkbox" name = "cb2" checked="true" value="ubi_link as 'Ссылки на другие описания уязвимости, приведенные в альтернативных открытых источниках',">Ссылки на другие описания уязвимости, приведенные в альтернативных открытых источниках<br/> <input type = "checkbox" name = "cb3" checked="true" value="sltpo_name as 'Тип ПО',">Тип ПО<br/> <input type = "checkbox" name = "cb4" checked="true" value="ubi_namepo as 'Название ПО',">Название ПО<br/> <input type = "checkbox" name = "cb5" checked="true" value="ubi_verpo as 'Версия ПО',">Версия ПО<br/> <input type = "checkbox" name = "cb6" checked="true" value="slsub_name as 'Источник угроз БИ, способный эксплуатировать уязвимость',">Источник угроз БИ, способный эксплуатировать уязвимость<br/> <input type = "checkbox" name = "cb7" checked="true" value="slrug_name as 'Способ реализации угрозы БИ',">Способ реализации угрозы БИ<br/> <input type = "checkbox" name = "cb8" checked="true" value="slobv_name as 'Объект воздействия при реализации угрозы БИ',">Объект воздействия при реализации угрозы БИ<br/> <input type = "checkbox" name = "cb9" checked="true" value="ubi_prel as 'Вероятность реализации',">Вероятность реализации<br/> <input type = "checkbox" name = "cb10" checked="true" value="ubi_srel as 'Сложность реализации',">Сложность реализации<br/> <input type = "checkbox" name = "cb11" checked="true" value="slrub_name as 'Результаты реализации угрозы БИ',">Результаты реализации угрозы БИ<br/> <input type = "checkbox" name = "cb12" checked="true" value="ubi_opisrek as 'Описание возможных последствий от эксплуатации описываемой уязвимости',">Описание возможных последствий от эксплуатации описываемой уязвимости<br/> <input type = "checkbox" name = "cb13" checked="true" value="DATE_FORMAT(ubi_postz,'%d.%m.%Y') as 'Дата поступления заявления о выявлении угрозы БИ',">Дата поступления заявления о выявлении угрозы БИ<br/> <input type = "checkbox" name = "cb14" checked="true" value="ubi_srcz as 'Источник поступления заявления о выявлении угрозы БИ'">Источник поступления заявления о выявлении угрозы БИ<br/> <br/> <input type = "submit" value = "Применить"> <input type = "reset" value = "Сбросить"> <br/> <hr/> </form> <?php $conn=mysql_connect("localhost", "root", "linkin"); mysql_select_db("localhost", $conn); mysql_query("SET NAMES cp1251"); $query="select ".$cb1." ".$cb2." ".$cb3." ".$cb4." ".$cb5." ".$cb6." ".$cb7." ".$cb8." ".$cb9." ".$cb10." ".$cb11." ".$cb12." ".$cb13." ".$cb14." from get_ubi"; $data=mysql_query($query, $conn); print "<table><tr>"; while($field=mysql_fetch_field($data)){ print "<th>$field->name</th>"; } print "</tr>"; while($row=mysql_fetch_assoc($data)){ print "<tr>"; foreach($row as $row){ print "<td>".$row."</td>"; } print "</tr>"; } ?> </body> </html>
вот и обращаюсь за помощью к знающим людям, так как у меня уже второй день не получается это реализовать. видимо, я чего-то не понимаю... Добавлено спустя 2 минуты 14 секунд: сейчас в чекеде стоит конкретное значение тру, но я подозреваю, что туда надо ставить переменную, но все мои попытки ни к чему не привели....
пример: Код (PHP): <input type = "checkbox" name = "cb1" <?php echo $_POST['cb1'] ? 'checked' : ''; ?> value="DATE_FORMAT(ubi_datvu,'%d.%m.%Y') as 'Дата выявления уязвимости',">
ух ты, это потрясающе! всего одна строчка)) а я там заморочился с if условиями и даже получилось в итоге, а на самом деле как всё просто. а не подскажете еще для списка решение полегче, чтобы тоже выбранное значение запоминалось, а то у меня там тоже через заднее место сделано: Код (Text): <select name = "sort"> <?php if ($sort == ubi_namepo) {?> <option value = "ubi_namepo" selected="true">Название ПО</option> <?php } else {?> <option value = "ubi_namepo">Название ПО</option> <?php } ?> <option value = "ubi_verpo">Версия ПО</option> <option value = "slsub_name">Источник угроз БИ, способный эксплуатировать уязвимость</option> <option value = "slrug_name">Способ реализации угрозы БИ</option> <option value = "slobv_name">Объект воздействия при реализации угрозы БИ</option> <option value = "ubi_prel">Вероятность реализации</option> </select>
ну я на лучший код и не претендую)) главное, чтобы работало, а потом по мере изучения языка можно будет оптимизировать. кстати, вот теперь вопрос какой, после того как я сделал везде запоминание последнего состояния, а как теперь задать нужное начальное состояние? например, все чекбоксы сначала в false, а если начинаю задавать им true, то это true навсегда и остается...
ну все в фалс они полюбас встанут. =) пост-то не пришел. нотисы правда будут. но можно делать так: наделать кучу переменных, или один массив с начальными состояниями потом приравнять к присланным данным те, которые прислали (проверять isset() или empty()) и потом уже по той конструкции проверять именно эти переменные или члены массива.
я понял суть)) в принципе, я тоже об этом думал-думаю, больших проблем не возникнет. общие принципы работы мне становятся всё понятнее. спасибо вам большое за помощь, извините за беспокойство))