Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/07/2009, 20:18
ElPoliticoSagaz
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 85
Antigüedad: 15 años, 7 meses
Puntos: 1
Gracias por la velocidad de la respuesta. Aquí te mando ambas tablas de la db:
En esta tabla, se almacenan el id, ip y fecha de votacion. (db=estrellas_1)
Cita:
CREATE TABLE `votos` (
`id` INT NOT NULL default '0',
`ip` char(15) NOT NULL default '',
`dataCreate` date NOT NULL default '0000-00-00'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
En la siguiente tabla, id, media (promedio de votos) y votos (cantidad de votos), necesario para "marcar la estrellita".
Cita:

CREATE TABLE `rankeado` (
`id` INT NOT NULL default '0',
`media` FLOAT NOT NULL default '0',
`votos` INT NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `rankeado` (`id`, `media`, `votos`) VALUES (1,0,0),(2,0,0);
Yo pensaba en crear otra db (tantas db como "estrellas de votacion" se necesite, creo que es una verdadera locura realmente), pero no me doy cuenta que debo modificar en las db anteriores, o en el archivo php (que es el siguiente, creo que por aca puede andar)

Cita:
<?php
function conectar(){
$dbhost='localhost';
$dbusername='yo'; //nombre del usuario
$dbuserpass='1234'; //password o contraseña del usuario
$dbname='estrellas_1';//nombre de la base de datos

$link = mysql_connect($dbhost, $dbusername,$dbuserpass);
mysql_select_db($dbname, $link);
return $link;
}

$id = $_GET['id_pagina'];

if($id!=""){
$link = conectar();
$voto = $_GET['v'];

if($_SERVER){
if($_SERVER[HTTP_X_FORWARDED_FOR]){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif($_SERVER["HTTP_CLIENT_IP"]){
$realip = $_SERVER["HTTP_CLIENT_IP"];
}else{
$realip = $_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv( "HTTP_X_FORWARDED_FOR")){
$realip = getenv( "HTTP_X_FORWARDED_FOR");
}elseif(getenv( "HTTP_CLIENT_IP")){
$realip = getenv( "HTTP_CLIENT_IP" );
}else{
$realip = getenv( "REMOTE_ADDR" );
}
}

$fecha = date('Y-m-d');
$result = mysql_query("DELETE FROM votos_usuarios WHERE dataCreate <> '".$fecha."'",$link);

$result = mysql_query("SELECT *FROM votos_usuarios WHERE ip = '".$realip."' and id = $id",$link);
$row = mysql_fetch_row($result);

if($row[0]==""){
$result = mysql_query("SELECT votos,media FROM ".$tabla[$tipo]." WHERE id =$id",$link);
$row = mysql_fetch_row($result);

$auxmedia = $row[1];
$votos =$row[0] + 1;
$media = (($row[0] * $auxmedia) + $voto)/ $votos;
//actualizamos el voto
$result = mysql_query("UPDATE rank SET votos= $votos, media= $media WHERE id= $id",$link);
mysql_query("INSERT INTO rank(id,ip,dataCreate)VALUES($id,'".$realip."','". $fecha."')",$link);
echo "voto realizado";
}else{ echo "Usted ya ha votado";
Gracias, después si me ayudas a solucionarlo, te paso los archivos para que los pongas en tu sitio. Saludos

Tengo el siguiente ejemplo:
_ En una pagina php, hay para votar 3 cosas (votacion1, votacion2 y votacion3)
_ Tengo 1 sola db con 2 tablas (de 3 campos cada una).
Supongamos que el usuario1 vota en votacion1 y en votacion2. En votacion1 hay 4 votos y en votacion2 hay 13 votos.
Mi pregunta es si tendría que crear tantas tablas como cosas haya que votar (o sea, como en el ejemplo, debería crear 6 tablas).
Además, ¿También tendría que añadir en el archivo php, los códigos (tipo select case) para input/output los datos de las nuevas tablas?
Solo es una idea, calculo que debo agregar nuevas tablas, porque no veo como en un par de tablas se pueden almacenar valores de diferentes votaciones. Gracias a todos.

Cita:
Iniciado por elpoliticosagaz Ver Mensaje
tengo el siguiente ejemplo:
_ en una pagina php, hay para votar 3 cosas (votacion1, votacion2 y votacion3)
_ tengo 1 sola db con 2 tablas (de 3 campos cada una).
Supongamos que el usuario1 vota en votacion1 y en votacion2. En votacion1 hay 4 votos y en votacion2 hay 13 votos.
Mi pregunta es si tendría que crear tantas tablas como cosas haya que votar (o sea, como en el ejemplo, debería crear 6 tablas).
Además, ¿también tendría que añadir en el archivo php, los códigos (tipo select case) para input/output los datos de las nuevas tablas?
Solo es una idea, calculo que debo agregar nuevas tablas, porque no veo como en un par de tablas se pueden almacenar valores de diferentes votaciones. Gracias a todos.
tema solucionado, gracias a todos!

Última edición por GatorV; 04/08/2009 a las 21:10