Os comento, estoy haciendo un sistema de votos para comentarios con ajax. Todo funciona correctamente excepto una pequeña cosa que no soy capaz de sacar.
La imagen es un antes y un despues de presionar "like o dislike" es decir, de votar.
La cuestion es que lo que quiero es que despues del voto, desaparezcan tanto "like como dislike" y aparezca solo el "Thanks for voting".
Aqui os dejo el codigo, a ver si alguien es capaz de echarme una mano.
UN saludo y gracias.
Votar.php
Código PHP:
<?php
$id = $_GET['id'];
$name = $_GET['name'];
include '../blog/content/conexion.php';
if ($name == "up") {
$sql = "UPDATE post SET up=up+1 WHERE ID = $id ";
} else {
$sql = "UPDATE post SET down=down+1 WHERE ID = $id";
}
mysql_query( $sql); // Actualiza la base de datos
// Vuelve a tomar los datos de la base actualizada
$recordset = mysql_query("SELECT * FROM post WHERE ID = $id");
$entradas = mysql_fetch_array($recordset);
//Esto es lo que le devuelve el PHP al AJAX para que actualice el HTML
echo "<a href='javascript:void(0)' class='vote' name='up' id='$id', $entradas[ID], onclick='vote(this.id, this.name)>up' , $entradas[up], </a> " ;
echo"<a href='javascript:void(0)' class='vote' name='down' id='$id', $entradas[ID], onclick='vote(this.id, this.name)>down' , $entradas[down], </a>Thanks For Voting ";
?>
Código:
y el htmlfunction vote(id, name) { xmlhttp=new XMLHttpRequest(); //Una vez que el servidor envía la respuesta, realiza lo que está dentro de esta función xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById(id).innerHTML=xmlhttp.responseText; } } //Envía el pedido junto con las variables xmlhttp.open("GET","vote.php?id=" + id + "&name=" + name,true); xmlhttp.send(); }
Código HTML:
<div id="votar"> <div id="vote"> <?php echo "<a id='$articulo' onclick='vote(this.id, this.name)' name='up' href='javascript:void(0)'>Like</a>"; ?>/ <?php echo "<a id='$articulo' onclick='vote(this.id, this.name)' name='down' href='javascript:void(0)'>DisLike</a>"; ?>/ </div> </div>