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


Insert into database when onclick event in an image

我怎么能做一个onClick事件在一个图像中的href ?我有以下代码:

- infoproduct.php (html代码)

<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,$_GET工作正常,functions.php包含在infoproduct.php

我也试过把html代码onClick=" addfavorite ();",但都不工作。

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

我知道你想干什么了。你刚才所做的是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);

    }
    ?>