我有以下代码(如下)可以加载特定状态的喜欢(用于动态使用),如果用户喜欢他们自己的帖子,它就可以工作。但是,如果用户喜欢其他人,它就会失败。
我的代码:
<?php
mysql_connect ('localhost', 'funding9_joeb', 'Brailsf0rdJ0e');
mysql_select_db ('mingle');
include('../includes/ts.php');
$_COOKIE['wds'];
$ssid = $_COOKIE['wds'];
$lu = "SELECT * FROM mingle_sessions WHERE sid = '$ssid' LIMIT 1";
$luq = mysql_query($lu) or die (mysql_query());
while($uidr = mysql_fetch_assoc($luq)) {
$uid = $uidr['uid'];
}
$sql = "SELECT * FROM users WHERE uid = '$uid' LIMIT 1";
$s = htmlentities(strip_tags(stripslashes($_GET['sid'])));
$result = mysql_query($sql) or print ("Can't select entry from table mingle_usr.<br />" . $sql . "<br />" . mysql_error());
while($row = mysql_fetch_array($result)) {
$fname = stripslashes($row['fname']);
$sname = stripslashes($row['sname']);
$dp = $row['dp'];
}
//--------------------------------------------------------------------------
// 2) Query database for data
//--------------------------------------------------------------------------
$sql = "SELECT * FROM mingle_likes WHERE byuid = '$uid' AND onuid = '$s' AND type = 'status'";
$sr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($sr) >= 1) {
$re = ("SELECT id as id, status as status, sid as sid, UNIX_TIMESTAMP(timestamp) as timestamp FROM mingle_status WHERE uid = '$uid' AND sid = '$s' ORDER BY timestamp DESC LIMIT 1"); //query
$result = mysql_query($re) or die (mysql_error());
while($st = mysql_fetch_assoc($result)) {
$status = nl2br($st['status']);
$sid = $st['sid'];
$td = $st['timestamp'];
$id = $st['id'];
}
$like = mysql_fetch_array(mysql_query("SELECT COUNT(*) as num FROM mingle_likes WHERE onuid = '$sid' AND type = 'status' AND byuid != '$uid'"));
$likes = ceil($like['num']);
$haslike = mysql_fetch_array(mysql_query("SELECT COUNT(*) as nu FROM mingle_likes WHERE onuid = '$sid' AND type = 'status' AND byuid = '$uid'"));
$hasliked = ceil($haslike['nu']);
?>
<script type="text/javascript" src="js/ld_s.js"></script>
<form action='ld.php' method='post' id='ls' style='display:inline; border:0px; margin: 0 0 0 0; padding: 0 0 0 0;'>
<input type="hidden" class="do_<?php echo $sid; ?>" name="onuid" value="<?php echo $sid; ?>" />
<input type="hidden" class="db_<?php echo $sid; ?>" name="byuid" value="<?php echo $uid; ?>" />
<input type="hidden" class="dp_<?php echo $sid; ?>" name="uid" value="<?php echo $uid; ?>" />
<input type="hidden" class="dt_<?php echo $sid; ?>" name="type" value="status" />
<?php
if($hasliked == 1) {
?>
<label>You <?php if($likes >= 1) { echo "and " . $likes . " other people like this"; } else{ echo "liked this |"; }?></label><input type="submit" id="like" class="<?php echo $sid; ?>" name="submit" value="Unlike" />
<?php
}
else {
?>
<label><?php if($likes >= 1) { echo $likes . " people like this |"; }?></label><input type="submit" id="like" class="<?php echo $sid; ?>" name="submit" value="Like" />
<?php
}
?>
</form>
<a href="#" id="time"><?php echo time_since($td); ?></a>
<?php
}
?>
错误如下:
( ! ) Notice: Undefined variable: sid in C:\wamp\www\mingle\ajax\loadslikes.php on line 47
然后对每次出现的 $sid 再次进行相同的操作。
我根本不知道为什么,就像我说的那样,它非常适合喜欢他/她自己的帖子的用户,而不是其他人。
有任何想法吗?:-/