Foros del Web » Programando para Internet » PHP »

Guardar la hora de votacion

Estas en el tema de Guardar la hora de votacion en el foro de PHP en Foros del Web. Hola a todos, necesito su ayuda urgente!!!!!!!!!!!!!!!! necesito guardar la hora en que fue realizado el voto en una tabla, por favor agradezco de antemano ...
  #1 (permalink)  
Antiguo 03/10/2009, 09:37
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Guardar la hora de votacion

Hola a todos, necesito su ayuda urgente!!!!!!!!!!!!!!!!

necesito guardar la hora en que fue realizado el voto en una tabla, por favor agradezco de antemano su ayuda, a continuacion el sistema de votacion que he realizado.

Código PHP:

<?
// ***** Modificar las siguientes lineas con sus datos *****
$servidor "localhost"//ej: localhost
$usuario "root";
$password "123";
$base_de_datos "votacion";
// ********************** Fin modificacion **********************
?>


<?if(!(isset($envio) && isset($voto))){
    
$myconn = @mysql_connect ($servidor,$usuario,$password);
    if(!
$myconn) { echo ('Imposible conectarse con MySQL,'); exit();}
    if(!@
mysql_select_db($base_de_datos)) { echo ('Imposible conectarse con la BD'); exit();}
    
$sql "SELECT * FROM encuestas";
    
$resultado = @mysql_query($sql,$myconn);
    
$row mysql_fetch_array($resultado);
    
?>
<P ALIGN="center">
<FORM METHOD="post" ACTION="<?= $PHP_SELF?>">
<?=$row["pregunta"]?><BR><BR>
<?=$row["respuesta1"]?> <INPUT TYPE="Radio" NAME="voto" VALUE="1"><BR>
<?=$row["respuesta2"]?> <INPUT TYPE="Radio" NAME="voto" VALUE="2"><BR>
<?=$row["respuesta3"]?> <INPUT TYPE="Radio" NAME="voto" VALUE="3"><BR>
<?=$row["respuesta4"]?> <INPUT TYPE="Radio" NAME="voto" VALUE="4"><BR>
<INPUT TYPE="Hidden" NAME="envio" VALUE="envio">
<INPUT TYPE="Submit" CLASS="boton" VALUE="Votar ahora">
</FORM></P>
<?}
else{
    
$myconn = @mysql_connect ($direccion,$usuario,$password) or die ('Imposible conectarse con la BD.');
    if (! 
$myconn){echo "No se pudo conectar con el servidor MySQL";exit();}
    if (! @
mysql_select_db($base_de_datos)){echo "No se pudo conectar con la base de datos";exit();}
    
$sqlupdate "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
    if(!@
mysql_query($sqlupdate,$myconn)){echo "Error: ".mysql_error();}
    
$sql "SELECT * FROM encuestas";
    
$resultados = @mysql_query($sql,$myconn);
    
$row mysql_fetch_array($resultados);
?>
<P ALIGN="center">Resultados parciales de la encuesta: </P>
<TABLE ALIGN="center" WIDTH="600" BORDER="1" CELLSPACING="1" CELLPADDING="1" BORDERCOLOR="#3097A3">
<TR>
    <TD ALIGN="center" WIDTH="100"><?=$row["respuesta1"]?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor1"]*100/$row["total"]?>%" SRC="img/pic_azul.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><?=$row["valor1"]?> votos</TD>
</TR>
<TR>
    <TD ALIGN="center" WIDTH="100"><?=$row["respuesta2"]?></TD>
    <TD VALIGN="middle" WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor2"]*100/$row["total"]?>%" SRC="img/pic_gris.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><?=$row["valor2"]?> votos</TD>
</TR>
<TR>
    <TD ALIGN="center" WIDTH="100"><?=$row["respuesta3"]?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor3"]*100/$row["total"]?>%" SRC="img/pic_beige.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><?=$row["valor3"]?> votos</TD>
</TR>
<TR>
    <TD ALIGN="center" WIDTH="100"><?=$row["respuesta4"]?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor4"]*100/$row["total"]?>%" SRC="img/pic_rojo.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><?=$row["valor4"]?> votos</TD>
</TR>
</TABLE>
</body>
</html>
<?
    mysql_list_tables
($myconn);
    
mysql_close($myconn);
    echo 
"<P ALIGN=center><A HREF=".$PHP_SELF.">Volver a la encuesta</A></P>";
}
?>
__________________
Mil gracias por sus enseñanzas.

Davincci
  #2 (permalink)  
Antiguo 03/10/2009, 09:40
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 17 años, 5 meses
Puntos: 4
Respuesta: Guardar la hora de votacion

Tienes que mostrarnos el código que usas para insertar la información en la base de datos.
  #3 (permalink)  
Antiguo 03/10/2009, 09:52
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Guardar la hora de votacion

El codigo anterior es el formualrio php a continuacion muestro la tabala dodne se almacena.

Código PHP:
CREATE TABLE `encuestas` (
  `
idencuestaint(11NOT NULL auto_increment,
  `
preguntavarchar(50) default NULL,
  `
respuesta1varchar(50) default NULL,
  `
respuesta2varchar(50) default NULL,
  `
respuesta3varchar(50) default NULL,
  `
respuesta4varchar(50) default NULL,
  `
valor1int(11NOT NULL,
  `
valor2int(11NOT NULL,
  `
valor3int(11NOT NULL,
  `
valor4int(11NOT NULL,
  `
totalint(11NOT NULL,
  
PRIMARY KEY  (`idencuesta`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=
__________________
Mil gracias por sus enseñanzas.

Davincci
  #4 (permalink)  
Antiguo 03/10/2009, 09:59
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 17 años, 5 meses
Puntos: 4
Respuesta: Guardar la hora de votacion

Para almacenar la fecha, la tabla debería de ser así:

Cita:
CREATE TABLE `encuestas` (
`idencuesta` int(11) NOT NULL auto_increment,
`pregunta` varchar(50) default NULL,
`respuesta1` varchar(50) default NULL,
`respuesta2` varchar(50) default NULL,
`respuesta3` varchar(50) default NULL,
`respuesta4` varchar(50) default NULL,
`valor1` int(11) NOT NULL,
`valor2` int(11) NOT NULL,
`valor3` int(11) NOT NULL,
`valor4` int(11) NOT NULL,
`total` int(11) NOT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`idencuesta`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
Ahora has de mostrar el código donde está el "INSERT INTO..."
  #5 (permalink)  
Antiguo 03/10/2009, 10:03
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Guardar la hora de votacion

umm creo que esto, me comi esa parte disculpa...

Código PHP:
CREATE TABLE `encuestas` (
  `
idencuestaint(11NOT NULL auto_increment,
  `
preguntavarchar(50) default NULL,
  `
respuesta1varchar(50) default NULL,
  `
respuesta2varchar(50) default NULL,
  `
respuesta3varchar(50) default NULL,
  `
respuesta4varchar(50) default NULL,
  `
valor1int(11NOT NULL,
  `
valor2int(11NOT NULL,
  `
valor3int(11NOT NULL,
  `
valor4int(11NOT NULL,
  `
totalint(11NOT NULL,
  
PRIMARY KEY  (`idencuesta`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;

-- 
-- 
Volcar la base de datos para la tabla `encuestas`
-- 

INSERT INTO `encuestasVALUES (1'PREGUNTA''1''2''3''4'756321); 
__________________
Mil gracias por sus enseñanzas.

Davincci
  #6 (permalink)  
Antiguo 03/10/2009, 10:04
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Guardar la hora de votacion

Hola, lo que veo es que debes agregar un campo de tipo DATE en tu tabla, para ahí almacenar la hora, luego podrías hacer algo como esto en tu página de encuesta:

$Hora = Time(); // esta es la Hora actual del servidor donde están tus pag
$Hora = Time() + (60 *60 * 1);//en mi caso,estoy con 1h de dif con mis server, por eso le sumo uno, para obtener la hora real de mi país
$time = date('H:i:s',$Hora); // le doy el formato que deseo

//Luego sería solo insertarla en la base de datos,

mysql_query("insert into TU_TABLA(campo1,campo2,...,hora) values ('$campo1','$campo2',.....,'$time')",$link);

Espero te sirva .. salu2
__________________
-----------------------------------
Éxitos !!! .. joao
  #7 (permalink)  
Antiguo 03/10/2009, 10:13
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Guardar la hora de votacion

no me da, no se que error cometo, se hace en este fragmento que es donde recibo el voto y doy update?


Código PHP:
else{
    
$myconn = @mysql_connect ($direccion,$usuario,$password) or die ('Imposible conectarse con la BD.');
    if (! 
$myconn){echo "No se pudo conectar con el servidor MySQL";exit();}
    if (! @
mysql_select_db($base_de_datos)){echo "No se pudo conectar con la base de datos";exit();}
    
$sqlupdate "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
    if(!@
mysql_query($sqlupdate,$myconn)){echo "Error: ".mysql_error();}
    
$sql "SELECT * FROM encuestas";
    
$resultados = @mysql_query($sql,$myconn);
    
$row mysql_fetch_array($resultados);
   
?> 


Solo necesito insertar la hora nada mas, cree una tabla que se llama tiempo y el campo de registro se llama hora este es el codigo

Código PHP:
CREATE TABLE `tiempo` (
  `
Idint(11NOT NULL,
  `
horadatetime NOT NULL,
  
PRIMARY KEY  (`Id`) 
__________________
Mil gracias por sus enseñanzas.

Davincci
  #8 (permalink)  
Antiguo 03/10/2009, 10:24
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Guardar la hora de votacion

Pienso que deberías agregarle un campo a la tabla de encuestas, donde guardarás la hora, y no crear una tabla nueva para eso, además, será mas fácil relacionar cada encuesta con la hora en que se hizo. Viendo tu código veo lo siguiente en esta línea:

$sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";

hay errores ahí, no entiendo que es esto:

valor$voto = valor$voto+1, total = total+1 ??

qué estás tratando de actualizar en esa línea??
Por otra parte, en el script donde estás INSERTANDO el valor de la encuesta en tu base de datos, ANTES de insertar, es que debes obtener la hora e insertarla también en tu tabla de encuestas....
__________________
-----------------------------------
Éxitos !!! .. joao
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.