2014-03-25 80 views
0

我有一個問題,使系統,使用戶最喜歡的帖子。我知道我在這裏錯過了一些東西,但我不確定是什麼,也不知道如何修復它,以便它能夠正常工作。最喜歡的帖子腳本

mysql_select_db($database_connection, $connection); 
$query_deltakelse = "SELECT brukernavn, postID FROM deltakelse"; 
$deltakelse = mysql_query($query_deltakelse, $connection) or die(mysql_error()); 
$row_deltakelse = mysql_fetch_assoc($deltakelse); 
$totalRows_deltakelse = mysql_num_rows($deltakelse); 

$username=$_SESSION['valid_user']; 

if(in_array($_POST['id'], $row_deltakelse)) 
{ 
    mysqli_query($connection,"DELETE FROM deltakelse WHERE postID='id'"); 
} 
else 
{ 
    mysqli_query($connection,"INSERT INTO bruker (brukernavn, postID) VALUES ('$username', '$id')"); 
} 

$(document).ready(function() { 
    $('.delta').on('click', null, function() { 
     var _this = $(this); 
     var post_id = _this.data('id'); 
     $.ajax({ 
      type  : 'POST', 
      url  : '/file.php', 
      dataType : 'json', 
      data  : 'id='+ post_id, 
      complete : function(data) { 
       if(_this.text() == 'Fave this') 
       { 
       _this.html('Faved!'); 
       } 
       else 
       { 
       _this.html('Fave this'); 
       } 
      } 
      }); 
     }); 
    }); 


<a href="#" class="delta" data-id="<?php echo $post_id; ?>">Favorite</a> 
+0

什麼不起作用? –

+0

我得到了一個通知:未定義的索引/變量:ID和警告:mysqli_query()期望參數1是mysqli,資源給出 – dirigibleplum

回答

1

你在混合mysql和mysqli函數。你不能那樣做。

這是MYSQL

mysql_select_db($database_connection, $connection); 
$query_deltakelse = "SELECT brukernavn, postID FROM deltakelse"; 
$deltakelse = mysql_query($query_deltakelse, $connection) or die(mysql_error()); 
$row_deltakelse = mysql_fetch_assoc($deltakelse); 
$totalRows_deltakelse = mysql_num_rows($deltakelse); 

$username=$_SESSION['valid_user']; 

在這裏,您使用的MySQLi與一個MySQL的資源。這是行不通的。

if(in_array($_POST['id'], $row_deltakelse)) 
{ 
    mysqli_query($connection,"DELETE FROM deltakelse WHERE postID='id'"); 
} 
else 
{ 
    mysqli_query($connection,"INSERT INTO bruker (brukernavn, postID) VALUES ('$username', '$id')"); 
} 

改變這種狀況,太:

if(in_array($_POST['id'], $row_deltakelse)) 
{ 
    mysql_query("DELETE FROM deltakelse WHERE postID='id'", $connection); 
} 
else 
{ 
    mysql_query("INSERT INTO bruker (brukernavn, postID) VALUES ('$username', '$id')", $connection); 
} 
+0

感謝您指出!但我仍然收到通知/警告。 – dirigibleplum

+1

該通知是由於$ _POST ['id']未被設置。在嘗試使用它之前,您需要檢查它是否已設置。 –