在onClick上执行PHP函数而不加载页面

时间:2014-09-03 20:23:22

标签: php html mysql

我有这个HTML代码。我想点击图像并执行PHP代码而不加载PHP页面。它将在后台执行,并在数据库中更新。

如何在不加载PHP页面的情况下以可靠的方式执行此操作?

如果我需要使用表格,我该如何在此处使用?我试了但是失败了。

html代码

<table>
<td align="center">
        <div class="round-button">
            <a href="viewStatus.php">
                <img name="myImg" src="images/City.png" alt="Home" />
            </a>
        </div>
    </td>
</table>

php代码

<?php

    $connection = mysqli_connect("localhost", "root", "");
    if (!$connection) {
        die("Error: " . mysqli_error());
    }

    $db_select = mysqli_select_db($connection, "myimageda");
    if (!$db_select) {
        die("Error: " . mysqli_error());
    }
    mysqli_query($connection, "UPDATE `myDB` SET `state`=1 WHERE `id` = 1");

    ?>

4 个答案:

答案 0 :(得分:2)

通常,我使用这样的东西:

<table>
<td align="center">
        <div class="round-button">
            <a href="viewStatus.php">
                <img name="myImg" src="images/City.png" alt="Home" onClick='Func'/>
            </a>
        </div>
    </td>
</table>



<script type="text/javascript">
    function Func() {

        $.ajax({
            type: "GET",
            url: "file.php",
            success:function(json){}, error:function(){}
        }) 
    }
</script>

答案 1 :(得分:2)

您无法在事件上调用Php功能。使用Ajax向服务器发送请求
http://www.ajax-tutor.com/post-data-server.html?userid=JOHNNY

答案 2 :(得分:2)

这是一个简单易行的答案

<强> HTML

<table>
<td align="center">
        <div class="round-button">
            <a href="#" onClick=rec('USE ANY VALUE HERE FOR IDENTITY')>
                <img src="images/City.png" />
            </a>
        </div>
    </td>
    ....
</table>

然后使用 javascript 来调用该功能

<script type="text/javascript">
    function rec(id) {
       $('#newCode').load('viewStatus.php?id=' + id);
    }        
</script>

并编写 PHP 代码,如下所示

<?php

    $connection = mysqli_connect("localhost", "root", "");
    if (!$connection) {
        die("Error: " . mysqli_error());
    }

    $db_select = mysqli_select_db($connection, "myimageda");
    if (!$db_select) {
        die("Error: " . mysqli_error());
    }
    $ver = 'YOUR IDENTITY';
    if($ver == CONDITION) {
       mysqli_query($connection, "UPDATE `myDB` SET `state`=1 WHERE `id` = 1");
    }
    else {
    ...
    }
    ...
    ?>

答案 3 :(得分:1)

Php无法在客户端计算机上运行,​​因此您应该使用ajax来实现此目的。通过php页面上的ajax发送数据,并根据该数据执行代码。

使用类似的东西

 <img name="myImg" src="images/City.png" alt="Home" id="img" />

     $("#img").click(function(e){
       $.ajax({
              type:'post',
              data:q,
              url:'ajaxData.php',
              beforeSend: function(){
                    $("#msg").text("sending request to server...");
              },
              complete:function (){
                    $("#msg").text("request received and loaded");
              },
              success:function(result, textStatus, jqXHR) {     
                    $("#ajaxnotifier").html(result);
              },
              error: function(jqXHR, textStatus, errorThrown){
                alert(errorThrown);
              }
         })
     })

您可以查看教程ajax