Доброго всем времени суток! Никак не могу решить одну маленькую проблему. Реализовал в форме выпадающий список со значениями из БД. Всё работает, значения корректно добавляются, но в самом списке не отображаются. Т.е, при наведении курсора, категории подсвечиваются, но их просто напросто не видно, список, если на него не навести курсор, кажется пустым. Ниже приложу свой код. PHP: <?php $connect = mysqli_connect("localhost", "root", "", "diplom"); $cat_q = mysqli_query($connect, "SELECT cat_name FROM categories "); if (!empty($_GET['title']) . !empty($_GET['post']). !empty($_GET['choise_cat'])) { $title = $_GET['title']; $post = $_GET['post']; $choise_cat = $_GET['choise_cat']; $q = mysqli_query($connect, "INSERT INTO posts VALUES (null, '$title', '$post', '$choise_cat')"); header('Location: add_post.php'); } ?> HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <style type="text/css"> </style> <title></title> </head> <body> <div class="container"> <div class="row"> <div class="col-3"> <div id="sidebar-wrapper"> <ul class="sidebar-nav"> <li class="sidebar-brand"><a href="index.php">Главная</a> </li> <li><a href="add_post.php">Добавить запись</a> </li> <li><a href="edit_posts.php">Редактировать записи</a> </li> <li><a href="add_cat.php">Добавить категорию</a> </li> <li><a href="edit_cat.php">Редактировать категории</a> </li> </ul> </div> </div> <div class="col-9"> <form action="add_post.php"> <div class="row h-100 justify-content-center align-items-center mt-5"> <div class="form-row col-md-3 "> <input type="text" name="title" class="form-control" placeholder="Заголовок"> </div> </div> <div class="row h-100 justify-content-center align-items-center mt-4"> <div class="form-row col-md-3 "> <input type="text-area" name="post" class="form-control" placeholder="Пост"> </div> </div> <div class="row h-100 justify-content-center align-items-center mt-4"> <div class="form-row col-md-3 "> PHP: <select name="choise_cat"> <option>Выберите категорию</option> <?php while ($row = mysqli_fetch_assoc($cat_q)) { $cat = $row['cat_name']; echo '<option value="'.$cat.'"> </option>'; } ?> </select> --- Добавлено ---
PHP: echo'<option value="'.$cat.'"> </option>'; Тут вместо пробела напишите что-нибудь, например: PHP: echo '<option value="'.$cat.'">'.$cat.'</option>';
Точка в PHP - это оператор конкатенации строк. Вы склеиваете булевы значения, возвращаемые языковой конструкцией empty. PHP: if (!empty($_GET['title']) . !empty($_GET['post']). !empty($_GET['choise_cat'])) Так, наверное, задумывалось: PHP: if (!empty($_GET['title']) && !empty($_GET['post']) && !empty($_GET['choise_cat']))