javascript - 在 MySQL 中使用 Javascript 更改状态

标签 javascript php mysql

我需要你的帮助。我有一个拍卖场景。我用 JavaScript 代码编写了两个函数。这样根据拍卖的开始和结束进行两次计数。当第一次计数完成时,我希望它在我的数据库中为“arac_durum” ->“Aktif”,当第二次计数完成时,它为“arac_durum” ->“Pasif”。我该怎么做,你能帮忙吗?

<script>

function createCountDown(elementId, date, dateiki) {

    var countDownDate = new Date(date).getTime();

var x = setInterval(function() {


    var now = new Date().getTime();
    

    var distance = countDownDate - now;

    

    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);
    

    document.getElementById(elementId).innerHTML = "Süre ►" + days + ": " + hours + ": " + minutes + ": " + seconds;
    

    if (distance < 0) {
        clearInterval(x);

        document.getElementById(elementId).innerHTML = "Started !";
        // Here I want the "arac_durum" item to be "Aktif".
        

        
        
        var bitistarihi = new Date(dateiki).getTime();
        var y = setInterval(function() {
            var simdi = new Date().getTime();
            var distance = bitistarihi - simdi;
            var days = Math.floor(distance / (1000 * 60 * 60 * 24));
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
            document.getElementById(elementId).innerHTML = "Süre ►" + days + ": " + hours + ": " + minutes + ": " + seconds;
            if (distance < 0) {
                clearInterval(y);

                document.getElementById(elementId).innerHTML = "Finish !";
                // Here I want the "arac_durum" item to be "Pasif".
                
                }
        }, 1000);
                
        
    }
}, 1000);

}

createCountDown("<?=$araccek['arac_id']?>", "<?=$araccek['arac_gerisayim']?>", "<?=$araccek['arac_tarih']?>")
  



</script> 
 <p id="<?=$araccek['arac_id']?>"></p>

enter image description here

enter image description here

最佳答案

首先:您需要一个服务器端代码来接收标志,如果标志为1则更新事件,否则更新pasif,让我们crwate PHP文件并将其命名为-modify.php:

<?php
      $flag = $_POST['flag'];
      $id = 1; //You have to receive the value of the id from the client. I mean to passed with the ajax request.
      $dsn = "mysql:host=localhost;dbname=yourdatabase";
      $pdo = new PDO($dsn, 'dbuser', 'userpassword');
       if( $flag == 1)
                $value = "active";
        else
                 $value = "passif";

         $stm = $pdo->prepare("Update yourTableName set arac_durum=? WHERE keyfield = ?");
         $stm->bindValue(1, $value);
         $stm->bindValue(2, $id);
    if( $stm->execute())
       echo "updated successfuly";
     else
        echo "error";

?>

第二:使用 Jquery 在 javascript 部分编写 AJAX 代码,将客户端的状态发送到服务器。

您将用 ajax 代码替换此注释 //这里我希望“arac_durum”项是“Pasif”。

让我们开始吧:

$.ajax({
           Type:'POST',
            url:'modify.php',
            data:{flag:2},
             success:function(response)
             {
                 // do sth here like alert a msg
                   alert(response);
             }
      });

上述解决方案足以解决您的问题,但如果您不熟悉 jquery,您可以使用 (fetch) appi 将数据从客户端发送到服务器。

 fetch('modify.php?flag=2')
         .then(reponse=>response.text())
         .then(data=>alert(data));

在modify.php中使用$_GET['flag']而不是$_POST['flag'],因为我在页面的url中添加了参数。其余代码将保持原样。

您还可以使用 XMLHttpRequest 对象在浏览器和服务器之间传输数据。

关于javascript - 在 MySQL 中使用 Javascript 更改状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61624195/

相关文章:

php - 如何获取图库中包含的图像 - 包含在文章中

android - 如何将 mySQL 文件导入我的 Android 程序?

javascript - c3.js : How to hide dots for specific data-set?

javascript - 在 Qualtrics 调查中使用 Javascript 日期选择器 - 将日期携带到调查字段

javascript - jQuery 动画与 GreenSock TweenMax

javascript - Angular Material 2 - 在单元测试的 md-checkbox 中触发更改事件

PHP文件上传和curl

php - 隐藏div的Javascript代码

javascript - 我在 nodejs 中有一个查询,想要从查询中返回 numOfComment 的值。但这是行不通的。请注意,这段代码外面有一个循环

php - 如何解决这个mysqli错误