BASE DE DATOS
Código SQL:
Ver original
# Nombre Tipo Cotejamiento Atributos Nulo Predeterminado Extra 1 id INT(11) No Ninguna AUTO_INCREMENT 2 post_id INT(11) No Ninguna 3 autor_id INT(11) No Ninguna 4 fecha datetime No Ninguna
CLASE FACEBOOK
Es una clase que tengo varios metodos para enviar mensaje, enviar comentario... dejo la parte donde se inserta una publicación.
Linea 37, el codigo de los likes.
Código PHP:
Ver original
public function insert_entry($message) { self::set_names(); $user = $_SESSION['username']; $userid = $_SESSION['id']; $ema = $_SESSION['email']; $fecha = date('Y-m-d H:i:s'); $query = $this->connect->prepare("INSERT INTO messages VALUES ('',?,?,?)"); $query->bindParam(1,$userid); $query->bindParam(2,$message); $query->bindParam(3,$fecha); $query->execute(); $id=$this->connect->lastInsertId(); //insertamos un mensaje en la table comments $firstcomment = $this->connect->prepare("INSERT INTO comments (user_comment, messageid, comment,date_comment) VALUES (?,?,?,?)"); $firstcomment->bindParam(1,$user); $firstcomment->bindParam(2,$id); $firstcomment->bindParam(3,$comment); $firstcomment->bindParam(4,$fecha); $firstcomment->execute(); $comments = $this->connect->prepare("SELECT * FROM comments where messageid = $id order by id desc"); $comments->execute(); $result = $comments->fetch(); ?><br><br> <div class="comments" id="lastmessage"> <img src="<?=$this->get_gravatar($ema)?>/?d=404&f=y" width="40" height="40" /><br><br> <?=$user?><span style="float: right;"><?=$fecha?></span><br><br> <br> <br> <span id="cantidad">0</span> <a href="#" id="megusta" post-id="<?=$id;?>" autor-id="<?=$user;?>">Me gusta</a> </div> <div id="form_messages" class="lastmessage" style="width: 380px; margin-left: 250px; margin-top: 40px"> <form method="post" action=""> <textarea name="comment" class="comment" cols="44" rows="2" maxlength="250" id="comment_textarea"></textarea> <br> <input type="submit" value="Comment" id="" class="send_comment"/> </form> </div> <?php }
HEADER.PHP
Es la cabecera del archivo "Index.php" que viene después. En la linea 20 incluyo el archivo "megusta.js".
Código PHP:
Ver original
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script type="text/javascript" src="js/functions.js"></script> <script src="js/megusta.js"></script> <title>Let's Travel</title> </head> <body> <div class="container_12" style="background: #fefefe"> <div class="grid_12" id="cabecera"></div>
INDEX.PHP
La página principal, pongo solo el div del comentario a mostrar, a partir del span es la linea de codigo donde quiero mostrar los likes. En la linea 7 es el codigo de los "likes".
Código PHP:
Ver original
<div class="grid_5 push_3 messages" id="other_comments" style="margin-top: 10px"> <img src="<?=$gravatar?>" width="40" height="40" /><br><br> <?=$message['username']?><span style="float: right;"><?=$message['date_message']?></span><br><br> <br> <br> <span id="cantidad">0</span> <a href="#" id="megusta" post-id="<?=$nuevo->link($message['message'])?>" autor-id="<?=$message['username']?>">Me gusta</a> </div><br><br><br><br><br><br><br><br>
MEGUSTA.JS
No se si estan bien puestas las variables.
Código Javascript:
Ver original
$(document).ready(function() { $('a#megusta').click(function() { var post_id = $(this).attr('id'); var autor_id = $(this).attr('user'); var cadena = 'user='+autor_id+'&id='+post_id; $.ajax({ type: "POST", url: "megusta.php", data: cadena, dataType: "json", success: function(respuesta){ if (respuesta.error) { alert(respuesta.msj_error); return false; } $("a#megusta").addClass("megusto"); $("a#megusta span#cantidad").html(respuesta.cantidad); return false; }//FUNCION });//AJAX return false; });//me gusta }
MEGUSTA.PHP
Como en el anterior, no se si estan bien puestas las variables y demas declaraciones para autor_id y post_id
Código PHP:
Ver original
$host = "localhost"; $user = "root"; $pass = ""; $bd = "facebook"; $dbc; if($conexion->connect_errno){ echo "ERROR AL CONECTARSE ($conexion->connect_errno)"; } $post_id = (int)$_POST["id"]; $autor_id = (int)$_POST["user"]; //verificamos que los parametros esten correctos $proceso["error"] = true; $proceso["msj_error"] = "Ocurrio un error, por favor intentalo de nuevo"; } // ya dio me gusta?, indiquemosle al usuario $yagusto = mysql_query("SELECT COUNT(*) FROM `wk_megusta` WHERE autor_id=$autor_id AND post_id=$post_id"); if ($yagusto > 0) { $proceso["error"] = true; $proceso["msj_error"] = "Ya te gusta esta publicacion"; } //Almacenamos el nuevo ME GUSTA $consulta_ajax = mysql_query("INSERT INTO `wk_megusta` (autor_id,post_id,fecha) VALUES($autor_id,$post_id,NOW())"); if ($consulta_ajax) { } ?>