如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
How could I send a value to MYSQL from a dropdown selection without refresh page and without click the "send" button?
在PHP页面中,我有一个简单的选择,其中包含一些这样的值:
<div class="container">
<section>
<select>
<option value="" disabled selected>Select an activity</option>
<option value="1">1</option>
<option value="2">2</option>
...
</select>
</section>
</div>
我有一个数据库 MYSQL 来存储选择的value
,如下所示:
表名 = user_favorite
,有 2 列,分别称为 items
和 values
项目值
项目1 值1
项目2 值2
等。
当用户从下拉列表中选择一个项目时,我希望将所选value
(在values
列内)自动发送到MYSQL,而无需单击发送按钮。是否可能以及如何实现?
正如@NishantSolanki所说,你应该使用Ajax。下面是一个使用 jQuery 的示例。
文件:
<div class="container">
<section>
<select id="options">
<option value="" disabled selected>Select an activity</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</section>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#options").on("change", function(){ //listen when the option change
var optionValue = jQuery(this).val(); //get the new value
$.ajax({
url: "fileWhichSaveTheValue.php", //php file which recive the new value and save it to the database
data: { "newValue": optionValue }, //send the new value
method: "POST" //use POST method
});
});
});
</script>
PHP文件:
$newValue = $_POST["newValue"]; //if you used POST method on the javascript, you have to use $_POST here to get the data
//HERE YOUR MYSQL CONNECTION AND YOUR QUERY FOR SAVING THE VALUE
在选择
<?php
if($_POST){
$item = $_POST['item'];
$link = mysql_connect('host', 'username', 'password');
mysql_select_db('database_name', $link);
//write your sql query to enter into table
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<div class="container">
<section>
<select onchange="save_record(this.value);">
<option value="" disabled selected>Select an activity</option>
<option value="1">1</option>
<option value="2">2</option>
...
</select>
</section>
</div>
<script type="text/javascript">
function save_record(item){
//call an ajax here to post item
$.post( "your_php_page_name.php",
{item:item},
function( data ) {
// do something after ajax result
});
}
</script>
在您的 php 页面上,您可以通过$_POST
变量检索帖子数据
相关文章:
- 在我的情况下,使用带有变量失败的 jquery 选择器
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
- 是否可以在不使用jQuery的情况下在下拉列表中选择选项
- 如何在不使用javascript和asp.net选择dropdownlist值的情况下显示验证
- 默认情况下无法预先选择所需的单选框
- 在我的情况下,如何选择某些孩子
- AngularJs:默认情况下未选择单选按钮
- 如何在不选择模式配置参数的情况下,使用mongoose在MongoDB模式实例化中的关联数组/对象中执行foreach
- jQuery:在没有字符串选择器的情况下分离
- 如何在不重新加载页面的情况下选择文件提交表单
- 有没有一种方法可以让jQuery日期选择器在没有年份的情况下工作
- AngularJS:在不修改ng模型的情况下获取选择标签
- 在 d3.js 中,如何在不进行新选择的情况下检查元素是否已被删除
- 如何在不刷新页面的情况下将“HTML 选择值”发送到另一个使用 ajax 的网页
- 如何在没有时区的情况下发送 AngularStrap 日期选择器值
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- 在我的情况下,任何使用 * 的选择器都失败了
- 在给定现有答案的情况下,更改日期选择器中的 minDate 选项不起作用