我正在實現類似於「Like」按鈕計數器的Facebook,因此每次用戶單擊該按鈕時,除了從數據庫檢索它並更新它之外,還有一個DIV標記(請參閱下面的代碼邏輯) 。但它不起作用。請看下面的所有代碼: -像按鈕增量計數器不工作。 PHP,AJAX,MySQL,javascript
的javascript:
function likeAJAX(strName)
{
If(strName == "")
{
document.getElementById('likeCount').innerHTML="";
return;
}
else
if(window.XMLHttpRequest)
{
xmlHTTP = new XMLHttpRequest();
}
else
{
xmlHTTP = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlHTTP.onreadystatechange = function()
{
if(xmlHTTP.readystate == 4 && xmlHTTP.status == 200)
{
document.getElementById('likeCount').innerHTML = xmlHTTP.responseText;
}
}
xmlHTTP.open("GET","getLikes.php?n=" + strName,true);
xmlHTTP.send();
}
HTML/PHP前端:
<img src="./images/like.jpg" style="cursor:hand;" onclick="likeAJAX(<?php echo $_GET['val']; ?>)"><?php echo $likeVal; ?> people like this</span>
PHP/MySQL的:
<?php
$q = $_GET['n'];
$temp;
$con = mysql_connect('localhost','xxxx','xxxx');
mysql_select_db("xxxx");
$SQLQuery = "SELECT * FROM likes where name= '" . $q . "'";
$res = mysql_query($SQLQuery);
while($data = mysql_fetch_array($res))
{
$temp = $data['likes'];
}
mysql_free_result($res);
mysql_close($con);
if($temp == "")
{
$temp = "0";
}
$intCount = int($temp);
$intCount++;
$con = mysql_connect('localhost','xxxx','xxxx');
mysql_select_db("xxxx");
$SQLQuery = "UPDATE likes set likes = '" . $intCount . "' WHERE busname = '". $q . "';";
$res = mysql_query($SQLQuery);
mysql_free_result($res);
mysql_close($con);
echo $intCount;
?>
道歉任何格式問題。 我哪裏錯了?我看到它的方式,似乎就像點擊Like圖像一樣,javascript函數似乎甚至沒有被調用?
問候,
Ochen
我可以看到你的'javascript'一些問題。首先,'If'不會工作,必須是'if',而不是大寫字母。接下來,爲了說明起見,第一個'else'語句應該包含'{}':if(...){} else {if(...){else {}}'。 – 2015-03-30 19:15:49