【问题标题】:how to update database with onclick function如何使用 onclick 功能更新数据库
【发布时间】:2016-03-15 17:06:10
【问题描述】:

如何使用 onclick 创建函数?

<?php if ($displayStatus['status'] == "Active") {?>
    <button class="selected"><a href="#" onclick="return getSuccessOutput">Active</a></button><br><br>
<?php } else {?>
    <button class="seedo"><a href="#" onclick="return getSuccessOutput" >Active</a></button><br><br>
<?php } ?>

image for status button

<script type="text/javascript">
    function getSuccessOutput() {
     //enter code here???
    }
</script>


$HOST = "localhost";
$USERNAME = 'root';
$PASSWORD = '';
$DB = 'DB';

该功能就像我选择活动按钮一样,单击该按钮后,它将更新数据库并将数据库“状态”行中的状态更改为活动。

【问题讨论】:

  • 创建 PHP 文件并执行 Ajax,如果成功则更改按钮类
  • @user3230289 以上建议的流程是在我的代码中开发的,希望对您有用..!!

标签: javascript php html database mysqli


【解决方案1】:

您不能使用 javascript 函数更新数据库中的任何记录。 您必须需要在 onclick 上使用的函数中使用 ajax 请求,然后添加新的 PHP 文件并将查询写入此文件。

【讨论】:

    【解决方案2】:
    <form action="updateAction.php" method="post">    
    <button type="submit" class="selected">Active</button>
    </form>
    

    并在 updateAction.php 中编写您的更新代码

    【讨论】:

      【解决方案3】:

      在您的 HTML 文件中

      <?php if ($displayStatus['status'] == "Active"){?>
      <button class="selected"><a href="#" onclick="return getSuccessOutput()">Active</a></button><br><br>
      
      <?php } else {?>
       <button class="seedo"><a href="#" onclick="return getSuccessOutput()" >Active</a></button><br><br>
       <?php }
      
      <script type="text/javascript" src="ajax.js"></script>
      

      在 ajax.js 中做这样的事情

          $.post(site_url.concat('cert.php') , { special_code:'you_can_send' } , function(data){
                 // dom something here
          });
      

      创建一个 process.php ,你必须处理你通过 $_POST 方法获得的信息

      $HOST = "localhost";
      $USERNAME = 'root';
      $PASSWORD = '';
      $DB = 'DB';
      
      // your script here
      

      【讨论】:

        【解决方案4】:

        创建一个 php 文件并使用 ajax。更多细节请查看link。满足你的问题答案。

        【讨论】:

          【解决方案5】:

          这是您的完整代码,可根据您的需要查看并学习,然后尝试我们自己的代码

          注意:

          在 index.php 页面中,我为隐藏输入提供了静态值“1”,您需要通过传递记录 id 来更改值。同时更改 $status=$displayStatus['status'] 的值强>

          index.php

          <html>
          <head>
          <script type="text/javascript" src="jquery.js"></script>
            </head>
            <body>
          
          <?php 
            $status="Active";
            if($status=="Active"){ ?>
            <input type="hidden" name="id" value="1" id="recordId"/>
            <button  class="chageStatus" value="Active"><a href="#">Active</a></button><br><br>
          <?php }else{ ?>    
            <button class="chageStatus" value="Inactive"><a href="#">Inactive</a></button><br><br>
            <?php }?>
          
            <script>
              jQuery(document).ready(function(){
                 jQuery('.chageStatus').on('click',function(){
                    $.ajax({
                      url:'changeStatus.php',
                      type:'post',
                      data:{'status':jQuery(this).val(),id:jQuery('#recordId').val()},
                    }).success(function(response){
                        alert(response);
                    });
                 });
              });
            </script>
          </body>
          </html>
          

          changeStatus.php

          <?php 
          echo $recordId=$_POST['id'];
          echo "</br>";
          echo $status=$_POST['status'];
          
          
          // do connection and update the status of $recordId and its updated value will be $status
          ?>
          

          【讨论】:

          • 其实我还是不知道如何使用这段代码。我有 2 个按钮,一个处于活动状态,另一个处于非活动状态。我将有一个查询以从数据库中获取状态。如果它状态为活动,按钮的颜色将与非活动不同。如果用户想要将状态更改为非活动状态,通过单击非活动按钮,它会将数据库状态更新为非活动状态,并且按钮颜色将变为选中的状态
          • 上面给出的代码完全根据您的需要设置 $status=value 从您已经使用 db 查询获得的 db 并设置 将 value="1" 更改为 value="urVariable" ,其中您有该记录的 id
          • $get = "SELECT * FROM status"; $link = mysqli_query($link, $get) or die(mysqli_error($link)); $display = mysqli_fetch_array($link); $status= $display['status']; if($status=="Active"){ ?> Active



          • 请告诉我您想更改什么状态?
          • i 表“status”,有 2 列( status_id ,status)。在“状态”列中,我只能有活动或不活动。 (status_id : 1 , status : Active) 如果用户决定通过单击“非活动按钮”将活动更改为非活动。数据库将通过单击按钮将“活动”更改为“非活动”,只有按钮颜色会切换,不会刷新页面。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-27
          • 2018-01-12
          相关资源
          最近更新 更多