Javascript 单击更改输入背景图像

Javascript 单击更改输入背景图像,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个页面(resto演示文稿)和一个蓝色img(类似图标) 当我单击like_图标时,如果用户从未投票支持此resto,我希望: -增加投票(以整数形式保存到mysql数据库); -在页面中显示新值(不刷新页面); -更改类似图标(红色图标,始终可单击) 如果用户已投票,请单击图标: -取消投票(更新resto表); -在页面中显示新值(不刷新页面); -将like图标更改为蓝色img(始终可单击) 这是我尝试过的,但没有正常工作。怎么了?我该怎么做 多谢各位 HTML: 。。。 ... v

我有一个页面(resto演示文稿)和一个蓝色img(类似图标)

当我单击like_图标时,如果用户从未投票支持此resto,我希望: -增加投票(以整数形式保存到mysql数据库); -在页面中显示新值(不刷新页面); -更改类似图标(红色图标,始终可单击)

如果用户已投票,请单击图标: -取消投票(更新resto表); -在页面中显示新值(不刷新页面); -将like图标更改为蓝色img(始终可单击)

这是我尝试过的,但没有正常工作。怎么了?我该怎么做

多谢各位

HTML:

。。。
...
var x=document.getElementById(“idlike”).value;
如果(x>0){
$(“#likeimg”).attr('src','/img/haste.png');
//document.getElementById(“likeimg”).innerHTML=;
}
$(“#likeimg”)。单击(函数(){
$(“#投票”)。单击();
});
...
...
test.php:

<?php
 //date_default_timezone_set("Europe/Bucharest");
 require('login/dbconfig.php');
 session_start();

 $login_session = $_SESSION['login_user'];
 $idresto = 1;

 $query = "SELECT id FROM users WHERE username = '$login_session'";
 $result = mysqli_query($dbconfig, $query);
 $iduser = mysqli_fetch_array($result);

 //$query = "SELECT id FROM likes WHERE id_user = (SELECT id FROM users WHERE username = '$login_session')";
 $query = "SELECT id FROM likes WHERE id_user = $iduser[0]";
 $result = mysqli_query($dbconfig, $query);
 $idlike = mysqli_fetch_array($result);

 //echo "<div id='idlike'>";
 //if ($idlike[0]) {
  //echo $idlike[0];
 //}
 //else {
  //echo "0";
 //}
 //echo "</div>";

 $query = "SELECT COUNT(id_resto) FROM likes WHERE id_resto = $idresto";
 $result = mysqli_query($dbconfig, $query);
 $nrl = mysqli_fetch_array($result);

 if (isset($_POST['vote'])) {
   if (!$idlike[0]) {
     //echo "<div id='likes'><img id='likeimg' src='/img/like.png'>";
     //echo "<div id='likes'><img id='likeimg' src='/img/like.png'>";

     $query = "INSERT INTO likes (id, id_user, id_resto, id_fel, id_gr) VALUES (default, $iduser[0], $idresto, 0, 0)";
     $result = mysqli_query($dbconfig, $query);

     $query = "UPDATE restos SET likes = ($nrl[0]+1) WHERE id = $idresto";
     $result = mysqli_query($dbconfig, $query);

     //echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] + 1). "</span></div>";
     echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] + 1). "</span>";
     $img = '/img/like.png';
   }

   else {
     //echo "<div id='likes'><img id='likeimg' src='/img/dislike.png'>";

     $query = "DELETE FROM likes WHERE id = $idlike[0]";
     $result = mysqli_query($dbconfig, $query);

     $query = "UPDATE restos SET likes = ($nrl[0]-1) WHERE id = $idresto";
     $result = mysqli_query($dbconfig, $query);

     //echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] - 1). "</span></div>";
     echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] - 1). "</span>";
     $img = '/img/dislike.png';
   }
 }
?>

您可以使用ajax实现这一点。Internet上有很多手册,请阅读一本,然后再试一次。使用图标作为可单击元素的背景图像。然后您可以通过CSS进行切换。好的,但是,如果用户已经投票,并且再次访问resto页面,我希望它记住类似图标:显示类似红色的图标,而不是类似蓝色的图标(恐怕只有当用户在页面上时,后台img之间的切换才有效)
<?php
 //date_default_timezone_set("Europe/Bucharest");
 require('login/dbconfig.php');
 session_start();

 $login_session = $_SESSION['login_user'];
 $idresto = 1;

 $query = "SELECT id FROM users WHERE username = '$login_session'";
 $result = mysqli_query($dbconfig, $query);
 $iduser = mysqli_fetch_array($result);

 //$query = "SELECT id FROM likes WHERE id_user = (SELECT id FROM users WHERE username = '$login_session')";
 $query = "SELECT id FROM likes WHERE id_user = $iduser[0]";
 $result = mysqli_query($dbconfig, $query);
 $idlike = mysqli_fetch_array($result);

 //echo "<div id='idlike'>";
 //if ($idlike[0]) {
  //echo $idlike[0];
 //}
 //else {
  //echo "0";
 //}
 //echo "</div>";

 $query = "SELECT COUNT(id_resto) FROM likes WHERE id_resto = $idresto";
 $result = mysqli_query($dbconfig, $query);
 $nrl = mysqli_fetch_array($result);

 if (isset($_POST['vote'])) {
   if (!$idlike[0]) {
     //echo "<div id='likes'><img id='likeimg' src='/img/like.png'>";
     //echo "<div id='likes'><img id='likeimg' src='/img/like.png'>";

     $query = "INSERT INTO likes (id, id_user, id_resto, id_fel, id_gr) VALUES (default, $iduser[0], $idresto, 0, 0)";
     $result = mysqli_query($dbconfig, $query);

     $query = "UPDATE restos SET likes = ($nrl[0]+1) WHERE id = $idresto";
     $result = mysqli_query($dbconfig, $query);

     //echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] + 1). "</span></div>";
     echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] + 1). "</span>";
     $img = '/img/like.png';
   }

   else {
     //echo "<div id='likes'><img id='likeimg' src='/img/dislike.png'>";

     $query = "DELETE FROM likes WHERE id = $idlike[0]";
     $result = mysqli_query($dbconfig, $query);

     $query = "UPDATE restos SET likes = ($nrl[0]-1) WHERE id = $idresto";
     $result = mysqli_query($dbconfig, $query);

     //echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] - 1). "</span></div>";
     echo "<span id='likenr'>&nbsp;&nbsp;" . ($nrl[0] - 1). "</span>";
     $img = '/img/dislike.png';
   }
 }
?>