javascript - echo onClick 后删除 sql 行

标签 javascript php jquery mysql sql

我正在为我们学校节目中的问答节目制作一个节目。我有一个表,其中包含谁提出了这个问题(在教师中),问题是什么,以及另一个关于该问题的答案的表。所以,我有一个包含三列的表格。

现在,我想做的是,当页面加载时,它将显示许多标记为 的链接。我回显了每个链接,这样当您单击其中任何一个链接时,将从 MySQL 表中随机抽取一行,并且“问题”以及提出该特定问题的人将公开显示。

到目前为止,我能够很好地完成所有这些工作。但问题就在这里。

我想以这样的方式执行此操作:单击问题后(确切地说,在显示问题后)该特定行将从 MySQL 表中删除。我不想使用计时器,因为每个问题分配的时间都不同。我想知道 javascript 和 AJAX 中是否有某种“点击后”功能(或某种方法来实现)。或者也许是 PHP 代码?

很抱歉问了这个新手问题。历史老师来了:)

顺便说一句,这是我的代码的一部分:

<?php 
    $checkrow = $db->query("SELECT * FROM questions WHERE `who` = $teachers");


    while ($row = $checkrow->fetch(PDO::FETCH_ASSOC))
    {
         $who = $row['who'];
         $question = $row['question'];  
         $date =$row['date_asked'];

         $ask = $db->query("SELECT COUNT(*) FROM teachers WHERE science = $from AND who = $teachers");  
         $count = $ask->fetch(PDO::FETCH_NUM);

         if($count[0] == 0) {
              echo '<a href="#" onClick="readmsg();"> MYSTERY QUESTION </a>';
              $fromwho = "From science Department.";
              echo "<br>";
         } else {
              echo '<a href="#" onClick="readmsg();"> MYSTERY QUESTION </a>';
              $fromwho = "From your Arts Department.";
              echo "<br>";
         }
     }
?>

这是我的 JavaScript。

<script language="javascript">
      function readmsg(){
           var qst = "<?php echo $question; ?>";
           var dte = "<?php echo $date; ?>";
           var frm = "<?php echo $fromwho; ?>";

           document.getElementById("displaymsg1").textContent = qst;
           document.getElementById("displaymsg2").textContent = dte;
           document.getElementById("displaymsg3").textContent = frm;
      }
</script>




最佳答案

第一,您必须创建页面delete_question.php(或类似的方法):

<?php 
$db->query(('DELETE FROM questions WHERE ID=' . $_GET['uid']); // make it safer
echo '{result:"done"}';
?>

2、使用ajax删除onclick处理函数发送UID到指定

function delete_question(el) {
    $.ajax({
        url : 'delete_question.php',
        dataType : 'json',
        data : {
             uid : el.dataset.uid
        }, 
        success : function(response) {
             // remove line?
             $(el).parent().remove();
             alert(response.result);
        }
   });

第三:向元素添加处理程序

<a href="#" onclick="delete_question(this)" data-uid="<?php echo $row['ID'] ?>">

关于javascript - echo onClick 后删除 sql 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22498868/

相关文章:

javascript - window.location.href 不适用于 Windows Phone 7.1/7.5

php - 在没有 formhelper 的情况下使用 CakePHP 检索 POST 数据

javascript - 如何获取最后选择的单选按钮 ID

jquery - 如何选择另一个元素(e)的子元素(se),但不包括所选子元素(sse)的子元素之一?

javascript - Jquery 脚本未在页面加载时执行

JavaScript:如何构建简单的百分比增加?

php - JQuery 和 PHP 查找字段

php - 如何在主域的子域中包含一个php文件

javascript - 从 ajax 错误函数内部访问发布数据

javascript - Django:启动服务器端计算并动态更新客户端