使用按钮更新数据库行

时间:2013-09-09 05:56:27

标签: javascript mysql ajax pdo sql-update

当我点击与该行相关联的批准按钮时,我正在尝试更新phpmyadmin数据库中的一行

这是我要批准的行:

  

1,星名=问题 - 谁问[批准按钮] [不赞成   键]

这是我的db_replicator.php:

    <?php
include("db_conn.php");
$sql = "update questions set approved = 1 where questionID = ?";
$qc = $pdo_conn->prepare($sql);
$qc->execute(array($_POST['questionID']));
echo 'saved';
?>

这是我的views.php顶部的函数:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script>
        function save_a(id){
            $.post('db_replicator.php', {questionID:id}, function(result) { 
               alert(result); 
               window.location.reload();
            });
        }
    </script>

以下是我目前在views.php上的代码:

echo "<br><b>new questions: {$row4['count']}</b><br>";
while ($row44 = $prep44->fetch(PDO::FETCH_ASSOC)) {
echo "{$row44['questionID']} , {$row44['starName']} = {$row44['question']} - {$row44['whoAsked']}  
   <button onclick='save_a({$row44['questionID']})'></button><button>Disapprove</button><br>";
}

1 个答案:

答案 0 :(得分:1)

我认为您对服务器和客户端代码存在一些误解。

Js在客户端计算机上运行,​​而PHP在服务器端运行。 您需要对您的php代码运行ajax请求,这会将您的行保存到db。

您可以执行以下操作:

db_replicator.php:

include("db_conn.php");
$sql = "update questions set approved = 1 where questionID = ?";
$qc = $pdo_conn->prepare($sql);
$qc->execute(array($_POST['questionID']));
echo 'saved';

你的js在页面上的save_a函数传递行的id:

function save_a(id){
    $.post('db_replicator.php', { questionID: id }, function(result) { 
       alert(result); 
    });
}

更改按钮代码:

echo "{$row44['questionID']} , {$row44['starName']} = {$row44['question']} - {$row44['whoAsked']}  
    <button onClick=save_a($row44['questionID']);'>Approve</button><button>Disapprove</button><br>";