tri*_*227 4 javascript php mysql ajax jquery
好的,我知道之前已经回答了这个问题(在使用Ajax或JavaScript选择下拉列表选项后在同一页面上执行PHP脚本),但答案对于之前从未使用过AJAX的人来说并不是很有帮助.如果有人从下拉列表中选择一个选项,如何运行创建的查询?
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<h3>Subject</h3>
<select name="allbooks" >
<option value="none" ></option>
<option value="allbooks" >All Books</option>
</select>
<?php
$query = "SELECT * FROM books" or die("Error in the consult.." . mysqli_error($connection));
$books = $connection->query($query);
?>
Run Code Online (Sandbox Code Playgroud)
Log*_*yne 20
首先,您必须使用Javascript触发AJAX请求.但我会用jQuery(一个Javascript库)来指导你.
你的HTML:
<select name="allbooks" id="allbooks">
<option value="none" ></option>
<option value="allbooks" >All Books</option>
</select>
<div id="show">
<!-- ITEMS TO BE DISPLAYED HERE -->
</div>
Run Code Online (Sandbox Code Playgroud)
之后,下载jQuery.
然后让我们做脚本:
<script src="jquery-1.9.1.min.js"></script> <!-- CHANGE THE JQUERY FILE DEPENDING ON THE VERSION YOU HAVE DOWNLOADED -->
<script type="text/javascript">
$(document).ready(function(){ /* PREPARE THE SCRIPT */
$("#allbooks").change(function(){ /* WHEN YOU CHANGE AND SELECT FROM THE SELECT FIELD */
var allbooks = $(this).val(); /* GET THE VALUE OF THE SELECTED DATA */
var dataString = "allbooks="+allbooks; /* STORE THAT TO A DATA STRING */
$.ajax({ /* THEN THE AJAX CALL */
type: "POST", /* TYPE OF METHOD TO USE TO PASS THE DATA */
url: "get-data.php", /* PAGE WHERE WE WILL PASS THE DATA */
data: dataString, /* THE DATA WE WILL BE PASSING */
success: function(result){ /* GET THE TO BE RETURNED DATA */
$("#show").html(result); /* THE RETURNED DATA WILL BE SHOWN IN THIS DIV */
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
然后让我们创建get-data.php将接收通过AJAX发送的数据.
if(!empty($_POST["allbooks"])){
/* DO YOUR QUERY HERE AND GET THE OUTPUT YOU WANT */
echo $output; /* PRINT THE OUTPUT YOU WANT, IT WILL BE RETURNED TO THE ORIGINAL PAGE */
}
Run Code Online (Sandbox Code Playgroud)
你可以查看这个例子 - JSfiddle.
| 归档时间: |
|
| 查看次数: |
35269 次 |
| 最近记录: |