Раньше был вывод таблицы, потом добавила поиск, он не работал. На данном этапе выводит только так
результат кода - вывод окна поиска и ниже таблицы. при попытке осуществить поиск страница обновляется. Теперь еще: Предупреждение: Неопределенная переменная $data в C:ApacheApache24htdocspostgresql.php на линии 45
Предупреждение: аргумент foreach() должен иметь тип array | object, значение null указано в C:ApacheApache24htdocspostgresql.php на линии 45
|
1 |
<?phpheader ('Content-Type: text/html; charset=utf-8'); require_once 'load.php'; error_reporting(E_ALL); $inputSearch = $_GET['search'] ?? ''; $vak = $pdo->prepare("SELECT * FROM vak where name_iv like '%%'"); $vak->execute(); $data = $vak->fetchAll(); ?> <!DOCTYPE html> <html lang="en"> <head> <title>Joirnals</title> </head> <style> th,td { padding: 10 px; } th { background: #606060; color: #fff; } td { background: #b5b5b5; } </style> <body> <form action="<?= $_SERVER['REQUEST_URI'] ?>" method="get"> <p>Поиск: <input type="text" name="search" id=""> <input type="submit" value="Поиск"></p> </form> <table> <tr> <th>Наименование</th> <th>ISSN</th> <th>Код специальности</th> <th>Дата включения</th> </tr> <?php foreach($data as $value): ?> <tr> <td><?= htmlspecialchars($value['name_iv']) ?></td> <td><?= htmlspecialchars($value['issn_iv']) ?></td> <td><?= htmlspecialchars($value['spec_cod']) ?></td> <td><?= htmlspecialchars($value['data_vkl']) ?></td> </tr> <?php endforeach ?> </table> </body> </html> |
Дополнительно:
Содержание
В чем ошибка?
В первую очередь, ошибка в том, что вы нарушаете правила, которые соглашались исполнять при регистрации
ой, я не знала
Вы ведь понимаете, что для модераторов (в первую очередь) и тех, кто отвечает это не аргумент? Первые, скорее всего просто удалят вопрос, потому что видят, что вы не заинтересованы в соблюдении правил, а вторые не станут тратить свое время на ваш вопрос
Ответы:
Поиск или не работает, или нет подходящих результатов.
Скорее с $vak что-то не так.
Согласно документации он должен возвращать массив.
Но в любом случае не помешала бы проверка чтобы вот это не лезло:
Предупреждение: Неопределенная переменная $data в C:ApacheApache24htdocspostgresql.php на линии 45
Предупреждение: аргумент foreach() должен иметь тип array | object, значение null указано в C:ApacheApache24htdocspostgresql.php на линии 45
Когда не уверены что в ответ прийдет именно массив, а не null то лучше писать вот так:
$data = $vak->fetchAll() ?? [];
Тут чтобы не гадать, не хватает создание экземпляра обьекта в $pdo, полагаю оно спрятано в файле load.
Но вы вполне можете через var_dump проверить что на каждом моменте находится в переменной $vak и понять в какой из моментов что-то происходит не так.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?

Для начала, если у вас возникают проблемы с поиском на сайте, есть несколько вещей, которые можно попробовать, чтобы исправить эту проблему:
1. Проверьте ваш запрос: убедитесь, что вы правильно ввели ключевые слова для поиска. Попробуйте использовать разные комбинации слов или фраз.
2. Проверьте настройки поиска: иногда сайты предоставляют возможность настройки параметров поиска, таких как фильтры или расширенный поиск. Убедитесь, что ваши настройки поиска корректны.
3. Перезагрузите страницу: иногда проблемы с поиском могут быть временными и могут быть решены просто путем обновления страницы.
4. Очистите кэш браузера: иногда проблемы с поиском могут возникать из-за неправильно сохраненных данных в кэше браузера. Попробуйте очистить кэш и попробовать снова.
Если ничего из вышеперечисленного не помогло, возможно проблема кроется в коде PHP, который обрабатывает поиск на сайте. Вам необходимо проверить ваш код на наличие ошибок. Вот пример того, как можно выполнить поиск с использованием PHP:
Убедитесь, что ваш код правильно подключается к базе данных, выполняет поиск по заданным критериям и корректно обрабатывает результаты поиска. Проверьте также, что ваш HTML-код правильно отправляет данные для поиска на сервер. Если проблема не устраняется, рекомендуется обратиться за помощью к специалисту по PHP.