如何使用带有插入功能的按钮onclick多个按钮php

时间:2017-12-21 22:03:27

标签: php ajax button onclick

我有一个包含多个按钮的页面,其值和名称是从数据库中检索的。我试图在点击的任何按钮上运行插入查询,到目前为止我的代码:

<?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' )内,现在它会在点击任何按钮时插入值,我的下一步是给点击按钮一个背景颜色

1 个答案:

答案 0 :(得分:0)

解决方案在Solution下的帖子中,是我第一次尝试ajax并且它确实有效,给按钮一个id,并通过this.val获取其值(点击任何按钮)并通过post发送,检索并使用变量中的值作为插入查询。