2012-01-15 86 views
-3

我正在寻找代码拆分。我想要一个链接首先点击运行一个MySQL查询并更改链接。Facebook风格改变文字

我发现这一点,但唯一不变的文字:

<script type="text/javascript"> 
$(document).ready(function() { 
    // hides the slickbox as soon as the DOM is ready 
    // (a little sooner than page load) 
    $('#slickbox').hide(); 

    // toggles the slickbox on clicking the noted link  
    $('a#slickbox-toggle').click(function() { 
     $('#slickbox').slideToggle(400); 
     return false; 
    }); 
}); 
</script> 
$(this).text($(this).text() == 'Show box' ? 'Hide box' : 'Show box'); 

例子: Facebook的喜欢按钮=>

(56个喜欢)
单击(更新喜欢。 ..... ..... likecount + = 1) 不同于(57个喜欢)

我该怎么做?

回答

0

,你必须执行在你onclick处理Ajax请求。这需要与进行SQL查询的某种Web服务或脚本进行交互。

的标准是使用AJAX发送到使用MySQL API与MySQL数据库交互的PHP脚本的请求。

使用Google搜索这些关键字会给你很多例子和教程,你可以关注。

0

文件所需:

  1. 的config.php < - 包含数据库的详细信息,并连接到数据库。

代码:

<?php 
    $host=""; //your hostname 
    $username="";//database username 
    $database="";// database name 
    $password="":// database password 
    $connect=mysql_connect($host,$username,$password); 
    $select=mysql_select_db($database,$connect); 
    if(!$select) 
    exit("Wrong credentials in config file"); 
    ?> 
  1. session.php文件< - 存储登录的用户会话

    <?php 
    session_start(); 
    $_SESSION['id']; 
    ?> 
    
  2. ajaxlike.php < - 要通过AJAX方法来调用

代码: -

<?php 
    require_once('session.php'); 
    require_once('config.php'); 
    $user=$_SESSION['id']; 
    ?> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js">   </script> 
    <script type="text/javascript"> 
    $(".likes").click(function(){ 
    var c=$(this).attr("id"); 
    $(".likes#"+c).html(''); 
    $(".likes#"+c).html('<center><img src="http://www.blogkeen.com/images/loading_fb.gif" height="16"></center>'); 
    $.ajax({ 
    type: "POST", 
    url: "ajaxlike.php", 
    data: {id:c}, 
    cache : false, 
    success: function(data) { 
    $(".likes#"+c).html(''); 
    $(".likes#"+c).append(data); 
    } 
    }); 
    }); 
    </script> 

    <?php 
    $id=$_POST['id']; 

    if($id) 
    { 
    $check=mysql_query("SELECT * FROM likes WHERE liker='$user' AND liked='$id'"); 
    $get=mysql_num_rows($check); 
    echo "<a class=\"likes\" id=\"l{$id}\" style=\"cursor:pointer;cursor:hand;\">"; 
    if($get) 
    { 

    $del=mysql_query("DELETE FROM likes WHERE liker='$user' AND liked='$id'"); 
    echo "Like"; 
    } 
    else 
    { 
    $insert=mysql_query("INSERT INTO likes(liker,liked) VALUES('$user','$id')"); 
    echo "Unlike"; 
    } 
    echo "</a>"; 
    } 
    ?> 
  1. 的index.php <从那里就像任何项目

    <?php 
    require_once('session.php'); 
    require_once('config.php'); 
    $id=$_SESSION['id']; 
    ?> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(".likes").click(function(){ 
    var c=$(this).attr("id"); 
    $(".likes#"+c).html(''); 
    $(".likes#"+c).html('<center><img src="http://www.blogkeen.com/images/loading_fb.gif" height="16"></center>'); 
    $.ajax({ 
    type: "POST", 
    url: "ajaxlike.php", 
    data: {id:c}, 
    cache : false, 
    success: function(data) { 
    $(".likes#"+c).html(''); 
    $(".likes#"+c).append(data); 
    } 
    }); 
    }); 
    </script> 
    
    <a id="1" class="likes">Like 1</a><br/> 
    <a id="2" class="likes">Like 2</a><br/> 
    <a id="3" class="likes">Like 3</a><br/> 
    

数据库结构地点: 运行此查询创建表

CREATE TABLE likes 
    (
    id int primary key NOT NULL AUTO_INCREMENT, 
    liker int, 
    liked int 
    )