#php #ajax #favorite
#php #ajax #Избранное
Вопрос:
Я хочу создать для своего блога кнопку избранных статей. Сначала я использую :
<script type="text/javascript">
function AddPost(str,user)
{
if(str == "")
{
document.getElementById("txtHint").innerHTML = "";
return;
}
if (window.XMLHttpRequest)
{ // code for IE7 , Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 amp;amp; xmlhttp.status == 200)
{
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "addfav.php?p=" str "amp;u=" user, true);
xmlhttp.send();
}
</script>
Где p
идентификатор записи и u
пользователь, который выбрал статью. В цикле для статей я добавляю изображение с:
onclick="AddPost(<php echo of the post id>, <php echo of the current user id>)"
И это было глупо, потому что функция работает для всех, а не только для одного. В addfav.php
я просто получаю p
параметры u
и, а затем INSERT
в базу данных. Я новичок в Ajax, и я не знаю, как сделать его другим для статей.
Ответ №1:
Ваш PHP-код не должен допускать добавления новых избранных (я не могу комментировать это дальше, потому что вы не включили код PHP / SQL). Кроме того, в вашем коде javascript после успешного завершения работы AJAX отключите другие кнопки избранного.
Кстати, использование хорошо протестированной библиотеки, такой как jQuery (особенно для AJAX), значительно ускорит разработку.