0

我需要一个 ajax 函数的帮助

这是原始页面设置。页面将包含带有此表单链接的表格

.... 链接 - 按钮 1 - 按钮 2 链接 - 按钮 1 - 按钮 2 链接 - 按钮 1 - 按钮 2 ...

其中 button1 用于隐藏行,而 button2 用于隐藏 + 将 +1 值添加到 db 中的该链接。每个链接都将具有唯一的 ID,该 ID 将与 button2 一起使用,因此很容易定位它。因此,访问者将连续单击一个按钮,该行将隐藏,然后他移动到另一行....

数据库设置:

id - 链接 - .... - nmbOFlikes

我的问题是我不了解 Ajax,它只是更新数据库的解决方案,无需在每次单击按钮后刷新。

该页面不是静态的,它是由另一个从 db 中提取数据的函数格式化的 这是简单的 html 页面版本,所以如果有人可以帮忙......

所以这是没有功能的javascript

$(document).ready(function(){
    $("button.live").click(function(){
    $(this).parents('tr').hide();
        alert('Link is hidden');
    });
$("button.add").click(function(){
  $(this).parents('tr').hide();
  alert('This link is dead');
  $.post("update_db.php", { id: button_id, increment: true },
   function(data) {
   alert("Link incremented");
 });

}); });

这是桌子

<table width="500" border="0" cellspacing="0" cellpadding="3">
    <tr>
        <td><p>Link 1</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="1">add</button></td>
    </tr>
    <tr>
        <td><p>Link 2</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="2">add</button></td>
    </tr>
</table>
4

2 回答 2

1

您不会直接将值添加到数据库中,而是先将数据发布到脚本中。我不完全清楚您要完成什么,但 post 功能可能类似于:

$.post("update_database_with_ajax.php", { id: button_id, increment: true },
   function(data) {
     alert("Link incremented");
   });

这是一个功能性的 jsFiddle 示例:Jquery POST 示例

update_data_With_ajax.php

/** This is an example and should not be used 'as is' **/
if ( isset( $_REQUEST['increment'] ) {

    // Connect to MySQL
    $conn = mysql_connect("localhost", "root", "");

    if (!$conn) {
        die('Could not connect: ' . mysql_error());
    }

    // Fetch the values we posted using AJAX
    $id = mysql_real_escape_string( $_REQUEST['id'] );

    //Select your database
    mysql_select_db("my_db", $conn);

    //increment your number of clicks    
    mysql_query("UPDATE table_name SET nmbofclicks = nmbofclicks + 1 WHERE id = {$id}");

 }
于 2012-07-04T14:47:16.417 回答
0

jQuery.ajax的简单用法:

$.ajax({
    url: "serversite.php",
    type: "POST",
    data: {
        // Object of data you will send to serversite.php
    },
    success: function() {
        // everything went ok.
    }
});
于 2012-07-04T14:47:21.890 回答