Buenas,
oMega_2093, he hecho mi sistema de votación con los tutoriales que me pasaste, pero no me funciona. Si puedes echarle un vistazo, te estaré agradecido.
Este es el botón:
<?php
include('conexion.php');
include('funciones.php');
echo '<button id="boton" data-id="1">Cojinudo</button> <span id="resultado">' . get_likes(boton) . '0</span>';
?>
<?php
if(!$_GET){
$yourID = 1;
}else{
$yourID = $_GET['id'];
}
?>
Este es el archivo js
$(document).ready(function () {
$('#boton').click(function () {
contador($(this).data('id'));
});
});
function contador(id) {
$.ajax({
url: 'contador.php',
type: 'GET',
dataType: 'json',
data: {id: id},
success: function (response) {
$('#resultado').html(response.votos);
$('#boton').prop('disabled',true);
},
});
}
Este es el archivo funciones.php
<?php
function get_likes($id)
{
include('conexion.php');
$query = "SELECT votos FROM encuesta WHERE id='" . (int)$id . "';";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result, MYSQL_BOTH)) {
if ($row['votos'] == "") {
return '0';
} else {
return $row['votos'];
}
}
mysqli_close($connect);
}
//// Función para obtener la IP
function getIp()
{
$ip = $_SERVER['REMOTE_ADDR'];
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $ip;
}
?>
Y este es archivo contador.php
<?php
require('conexion.php');
include('funciones.php');
$ip = getIp();
$yourID = $_GET['id'];
$query = "SELECT votos FROM encuesta inner join votos on votos.id_encuesta=encuesta.id WHERE id_encuesta=" . $yourID . " limit 1;";
$result = mysqli_query($connect, $query);
$votos = null;
$data = array();
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
$votos = (int)$row['votos'];
$votos++;
$queryEncuesta = "UPDATE encuesta SET votos=" . $votos . " WHERE id=" . $yourID . ";";
mysqli_query($connect, $queryEncuesta);
$queryVotos = "INSERT INTO votos(id_encuesta,ip) VALUES (" . $yourID . ",'" . $ip . "');";
mysqli_query($connect, $queryVotos);
$data = array('votos' => $votos);
}
return json_encode($data);
?>