У меня следующая проблема: Есть скрипт с формой с <select>'ом он при выборе значения отсылает его в БД, но мне нужно, чтобы когда пользователь выбирал значение из <select>, то оно запоминалось. PHP: <?php require "/includes/lgsn.php"; $connection = mysqli_connect("127.0.0.1", "ее", "123", "ae_db"); ?> <!DOCTYPE html> <html> <head> </head> <body> <?php if( isset($_SESSION['ud_ae']) ) : ?> <?php $id = $_SESSION['ud_ae']['id']; ?> <hr> <?php $save = $_POST; if( isset($save['do_login']) ) { mysqli_query($connection, "UPDATE `users` SET `name`='".$save['name']."', `date`='".$save['date']."', `status`='".$save['status']."' WHERE id=$id "); echo '<div style="background-color: green; color: white; font-weight: light; font-size: 17px;">Данные сохранены!</div>'; } ?> <form action="/new.php" method="POST"> <?php $data_save = mysqli_query($connection, "SELECT * FROM `users` WHERE `id`=$id"); if( mysqli_num_rows($data_save) <= 0 ) { echo 'Unexpected error!'; } else { $get_data_user = mysqli_fetch_assoc($data_save); } ?> <input type="text" name="name" placeholder="name" value="<?php echo $get_data_user['name'] ?>"> <input type="text" name="date" placeholder="date" value="<?php echo $get_data_user['date'] ?>"> <p>Статус</p> <script type="text/javascript"> $('select option[value='<?php echo $get_data_user['status']; ?>']').attr('selected', 'selected'); </script> <select name="status"> <option value="Не выбрано">Не выбрано</option> <option value="Не женат">Не женат</option> <option value="Не замужем">Не замужем</option> <option value="Встречаюсь">Встречаюсь</option> <option value="Помолвлен">Помолвлен</option> <option value="Женат">Женат</option> <option value="Замужем">Замужем</option> <option value="В гражданском браке">В гражданском браке</option> <option value="Влюблён">Влюблён</option> <option value="Всё сложно">Всё сложно</option> <option value="В активном поиске">В активном поиске</option> </select> <button type="submit" name="do_login">Войти</button> </form> <p>Привет, <?php echo $get_data_user['login']; ?></p> <p>Ваш статус <?php echo $get_data_user['status']; ?></p> <?php else : ?> <p>Вы не авторизованы!</p> <?php endif; ?> </body> </html> Если можете, пожалуйста, то вставьте в код то что нужно, чтобы мне понять это в целом как работает. Просто я не понимаю выдернутые строчки кода
1. код вроде должен работать 2. если ты вообще не понимаешь, что там написано, и не хочешь учиться, то надо либо платить, либо искать рыцаря в белом плаще.
Я понимаю всё что там написано, но дело то в том как раз, что код не работает То есть значение, которое выбирает пользователь отправляется в бд, но не сохраняется в этом списке --- Добавлено --- К примеру: пользователь выбрал - замужем - значение отправляется, но в списке авто-выбранным оно не делается, нужно чтобы это значение (e.g. замужем) было выбранным в списке по-умолчанию, но этого не происходит. И я хочу понять в чем дело
вот этот кусок HTML: <script type="text/javascript"> $('select option[value='<?php echo $get_data_user['status']; ?>']').attr('selected', 'selected'); </script> появляется в исходном коде страницы? и как выглядит?
HTML: <select name="status"> <script type="text/javascript"> $('select option[value='Всё сложно']').attr('selected', 'selected'); </script> <!--<option disabled="disabled"></option>--> <option value="Не выбрано">Не выбрано</option> <option value="Не женат">Не женат</option> <option value="Не замужем">Не замужем</option> <option value="Встречаюсь">Встречаюсь</option> <option value="Помолвлен">Помолвлен</option> <option value="Женат">Женат</option> <option value="Замужем">Замужем</option> <option value="В гражданском браке">В гражданском браке</option> <option value="Влюблён">Влюблён</option> <option value="Всё сложно">Всё сложно</option> <option value="В активном поиске">В активном поиске</option> </select>
Подключён вше <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
HTML: <!doctype html> <html> <head> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> </head> <body> <select name="status" id="status"> <!--<option disabled="disabled"></option>--> <option value="Не выбрано">Не выбрано</option> <option value="Не женат">Не женат</option> <option value="Не замужем">Не замужем</option> <option value="Встречаюсь">Встречаюсь</option> <option value="Помолвлен">Помолвлен</option> <option value="Женат">Женат</option> <option value="Замужем">Замужем</option> <option value="В гражданском браке">В гражданском браке</option> <option value="Влюблён">Влюблён</option> <option value="Всё сложно">Всё сложно</option> <option value="В активном поиске">В активном поиске</option> </select> <script> $('#status option[value="<?= $get_data_user['status'] ?>"]').attr('selected', 'selected'); </script> </body> </html>
кавычки одинаковые --- Добавлено --- замени код на PHP: <script type="text/javascript"> $('select option[value="<?php echo $get_data_user['status']; ?>"]').attr('selected', 'selected'); </script>
Все получилось спасибо всем! Огромное спасибо. Вот окончательный код: PHP: <?php require "/includes/lgsn.php"; $connection=mysqli_connect("127.0.0.1","ее","123","ae_db"); ?> <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> </head> <body> <?php if( isset($_SESSION['ud_ae']) ) : ?> <?php $id = $_SESSION['ud_ae']['id']; ?> <hr> <?php $save = $_POST; if( isset($save['do_login']) ) { mysqli_query($connection, "UPDATE `users` SET `name`='".$save['name']."', `status`='".$save['status']."', `birthdate`='".$save['birthdate']."' WHERE id=$id "); echo '<div style="background-color: green; color: white; font-weight: light; font-size: 17px;">Данные сохранены!</div>'; } ?> <form action="/new.php" method="POST"> <?php $data_save = mysqli_query($connection, "SELECT * FROM `users` WHERE `id`=$id"); if( mysqli_num_rows($data_save) <= 0 ) { echo 'Unexpected error!'; } else { $get_data_user = mysqli_fetch_assoc($data_save); } ?> <input type="text" name="name" placeholder="name" value="<?php echo $get_data_user['name'] ?>"> <input type="date" name="birthdate" value="<?php echo $get_data_user['birthdate'] ?>"> <p>Статус</p> <select name="status"> <!--<option disabled="disabled"><?php //echo $get_data_user['status']; ?></option>--> <option value="Не выбрано">Не выбрано</option> <option value="Не женат">Не женат</option> <option value="Не замужем">Не замужем</option> <option value="Встречаюсь">Встречаюсь</option> <option value="Помолвлен">Помолвлен</option> <option value="Женат">Женат</option> <option value="Замужем">Замужем</option> <option value="В гражданском браке">В гражданском браке</option> <option value="Влюблён">Влюблён</option> <option value="Всё сложно">Всё сложно</option> <option value="В активном поиске">В активном поиске</option> </select> <button type="submit" name="do_login">Войти</button> </form> <script type="text/javascript"> $('select option[value="<?php echo $get_data_user['status']; ?>"]').attr('selected', 'selected'); </script> <p>Привет, <?php echo $get_data_user['login']; ?></p> <p>Ваш статус <?php echo $get_data_user['status']; ?></p> <?php else : ?> <p>Вы не авторизованы!</p> <?php endif; ?> </body> </html>