在图像中的onclick事件时插入数据库

时间:2015-09-25 10:58:18

标签: php image onclick href insert-into

如何在图像中的href中创建onClick事件?我有以下代码:

- infoproduct.php(html code)

<li><a href="#" onClick="addfavourite()"><img src="img/favstar.png" width="32" height="32"></a></li>

- function.php

function addfavourite() {

$sql = "SELECT * FROM `users` WHERE `iduser` = '".$_SESSION['id']."'";
$result = mysql_query($sql, $db_connection);
$row = mysql_fetch_assoc($result);

$newfav = 'INSERT INTO favourites (`iduser`,`idproduct`) VALUES ("'.$row['iduser'].'","'.$_GET['IDp'].'");';    //IDp = ID product obtained from URL
$createfav = mysql_query($newfav, $db_connection);
}

当我点击图片时,它不起作用,我不能在数据库中包含我最喜欢的产品。 $ _SESSION&amp; $ _GET正常工作,function.php包含在infoproduct.php

我也尝试在onClick =“addfavourite(); ”中添加html代码,但都不起作用。

2 个答案:

答案 0 :(得分:1)

制作一个javascript函数,并在AJAX的帮助下调用具有addfavourite()函数的php页面。 收到响应为true时,您可以将按钮或星号的颜色更改为黄色。

答案 1 :(得分:1)

我明白你要做什么。你刚刚完成的是javascript和php的组合,但它不是正确的方法。请记住,javascript适用于前端(浏览器和界面),而php是一种后端语言。所以你需要一种媒介让他们沟通。我建议您使用jquery / json,并为前端分配一个。检查一下:

<强> infoproduct.php

<form action="infoproduct.php" method="POST">
<li><a href="#" name="id" onClick="addfavourite()"><img src="img/favstar.png" width="32" height="32"></a></li>

</form>

<强> infoproduct.php

  <li><a href="#" id="id" onClick="addfavourite()"><img src="img/favstar.png" width="32" height="32"></a></li>


<script>
$(document).ready(function(){

$('#id').click(function(){
var id=$(this).val();

$.post('function.php',{id:id},function(data)
{
 alert(successfully)
})


});

});
</script> 

**function.php**

    <?php

    //Calling the function 
    addfavourite();

    function addfavourite() {
    $sql = "SELECT * FROM `users` WHERE `iduser` = '".$_SESSION['id']."'";
    $result = mysql_query($sql, $db_connection);
    $row = mysql_fetch_assoc($result);

    $newfav = 'INSERT INTO favourites (`iduser`,`idproduct`) VALUES ("'.$row['iduser'].'","'.$_GET['IDp'].'");';    //IDp = ID product obtained from URL
    $createfav = mysql_query($newfav, $db_connection);


    }

    ?>