Intereting Posts
Как ограничить доступ к веб-приложению только на одну машину? Вызов функции-члена bindParam () для не-объекта Apache: Как включить кеш браузера для test.json, который переписывает / генерируется через json.php? Как проверить, не удалена ли строка в Eloquent? Получить Joomla user_id с помощью JQuery Ajax htmlspecialchars (): Недопустимая многобайтовая последовательность в аргументе Как защитить пароль при отправке с помощью AJAX? Сгенерированное изображение с использованием PHP и GD отключается Как правильно развернуть приложение Laravel из моей локальной среды на мой удаленный сервер? Перенаправить папку на другой сервер Получение данных из базы данных MySQL с использованием PHP, отображение ее в форме для редактирования Zend Framework 2 Сегмент Route соответствует 'test', но не 'test /' Удалить index.php? Route = common / home из OpenCart Как обновить базу данных после обновления страницы в javaScript? как показать результаты, пока скрипт php все еще запущен

Выполните PHP-скрипт на той же странице после выбора раскрывающегося списка с использованием Ajax или JavaScript

Я создаю MySQL-запрос, который будет выполняться, когда пользователь выбирает параметры из более выпадающих списков.

Я хочу, чтобы при выборе раскрывающегося списка запрос, связанный с этой опцией, должен выполняться автоматически с помощью ajax / javascript на той же странице. Поскольку у меня есть оба html и php-кода на одной странице.

Раньше я использовал параметры отправки формы для раскрывающегося списка, но поскольку число выпадающих вариантов больше пяти для фильтрации результата, поэтому запросы стали сложными для реализации. Вот почему я хочу усовершенствовать результат каждого раскрывающегося списка по отдельности.

Любая помощь приветствуется. Заранее спасибо!

Мой HTML-код для раскрывающегося списка:

<p> <label for="experience">Experience :</label> <select id="experience" name="experience"> <option value="" selected="selected">All</option> <option value="Fresher">Fresher</option> <option value="Experienced">Experienced</option> </select> </p> 

PHP-код для выполнения связанных запросов:

 <?php if (isset($_GET['exp'])) { switch ($_GET['exp']) { case 'Experienced': $query = "SELECT job_seekers.ID, job_seekers.Name, job_seekers.Skills, job_seekers.Experience FROM job_seekers where job_seekers.Experience!='Fresher'"; break; case 'Fresher': $query = "SELECT job_seekers.ID, job_seekers.Name, job_seekers.Skills, job_seekers.Experience FROM job_seekers where job_seekers.Experience='Fresher'"; break; default: $query = "SELECT job_seekers.ID, job_seekers.Name, job_seekers.Skills, job_seekers.Experience FROM job_seekers"; } } $result = mysql_query($query) or die(mysql_error()); echo "<ul class=\"candidates\">"; while($row = mysql_fetch_row($result)) { echo "<li>"; echo "<p> <b>ID:</b> <u>$row[0]</u> </p>"; echo "<p> <b>Name :</b> $row[1] </p>"; echo "<p> <b>Key Skills:</b> $row[2] </p>"; echo "<p> <b>Experience:</b> $row[3] </p>"; echo "</li>"; } echo "</ul>"; ?> 

Когда вы хотите, чтобы AJAX вызывал скрипт php, вы должны указать $ .ajax, предоставленный JQuery

http://api.jquery.com

поэтому вы можете использовать его так:

 $.ajax({ url: 'ajax.php', data: { //put parameters here such as which dropdown you are using }, success: function(response) { //javascript and jquery code to edit your lists goes in here. //use response to refer to what was echoed in your php script } }); 

таким образом, у вас будут динамические выпадающие списки и уточненные результаты, которые вы хотите

 <?php if (isset($_GET['experience'])) { echo $_GET['experience']; /* do mysql operations and echo the result here */ exit; } ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <script type="text/javascript"> function myFunction(value) { if(value!="All") { $.ajax( { type: "GET", url: '<?php echo $_SERVER['PHP_SELF']; ?>', data: { experience: value}, success: function(data) { $('#resultDiv').html(data); } }); } else { $('#resultDiv').html("Please select a value."); } } </script> </head> <body> <p> <label for="experience">Experience :</label> <select id="experience" name="experience" onChange="myFunction(this.value)"> <option value="All" selected="selected">All</option> <option value="Fresher">Fresher</option> <option value="Experienced">Experienced</option> </select> </p> <div id="resultDiv"> Please select a value. </div> </body> </html> 

Вы не можете повторно выполнить часть PHP на той же странице. Скорее используйте запрос Ajax для выполнения действия.