我有一个包含多个按钮的页面,其值和名称是从数据库中检索的。我试图在点击的任何按钮上运行插入查询,到目前为止我的代码:
<?php
$sqlGetIllness = "SELECT * FROM illnissesandconditions ";
$resultGetIllness = $conn->query($sqlGetIllness);
while ($rowGetIllness= mysqli_fetch_array($resultGetIllness)){
echo "<div class='col-md-3'style='margin-top:20px;'><button onclick='insert(".$rowGetIllness['illness'].");' class='button button1' style=' color:white;' value='".$rowGetIllness['illness']."'>".$rowGetIllness['illness']."</button></div>";
}
function insert($value) {
$value='';
$sqlGetId = "SELECT commonID from common group by commonID DESC LIMIT 1 ";
$resultGetId = $conn->query($sqlGetId);
$r=mysqli_fetch_array($resultGetId);
$id=$r['commonID'];
$sqlGetIllness = "INSERT INTO medicalrecords (CommonID,Medical_Condition) VALUES (".$id.",'".$value."')";
$resultGetIllness = $conn->query($sqlGetIllness);
}
当我在浏览器中检查时,传递给onclick
内部函数的值是正确的,但是没有任何反应。我已经有数据库连接,可能有什么问题?是否有可能在没有刷新页面的情况下在php中执行此操作?或者我是否需要像AJAX一样使用客户端?请注意,我从未使用AJAX btw。
新编辑:
<script>
$("button").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
data: {
condition: $(this).val(), // < note use of 'this' here
},
success: function(result) {
alert('Condition Inserted!');
},
error: function(result) {
alert('error');
}
});
});
</script>
解决方案: 我得到了它,在编写脚本后,我在页面顶部检索了变量值
if (isset($_POST['condition'])) {
$value=$_POST['condition']; }
在$_SERVER['REQUEST_METHOD'] == 'POST' )
内,现在它会在点击任何按钮时插入值,我的下一步是给点击按钮一个背景颜色
答案 0 :(得分:0)
解决方案在Solution
下的帖子中,是我第一次尝试ajax并且它确实有效,给按钮一个id,并通过this.val获取其值(点击任何按钮)并通过post发送,检索并使用变量中的值作为插入查询。