Foros del Web » Programando para Internet » PHP »

Ayuda script puntuacion?

Estas en el tema de Ayuda script puntuacion? en el foro de PHP en Foros del Web. Wola a Todos! Soy nuevo en esto del php-mysql y para practicar y eso intente hacer mi primer script basado en una tipica votacion. El ...
  #1 (permalink)  
Antiguo 28/04/2006, 08:16
 
Fecha de Ingreso: septiembre-2004
Ubicación: Gran Canaria
Mensajes: 89
Antigüedad: 13 años, 3 meses
Puntos: 0
Ayuda script puntuacion?

Wola a Todos!

Soy nuevo en esto del php-mysql y para practicar y eso intente hacer mi primer script basado en una tipica votacion. El caso es que no se q es lo k falla en el codigo o en la base de datos, que a la hora d votar me suma 4 más d lo que había votado, y los campos de la tabala que le pido de la base de datos estan a 0. Y luego no me actualiza los campos en la base de datos. No se si me explico. Aqui esta el sencillo script.

<?php

if (!isset($Valor_Respuesta))
{
echo "No ha elegido ningún valor";
return;
}
$db = mysql_pconnect("localhost", "root");
if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, inténtelo más tarde.";
exit;
}
mysql_select_db("LAQUESEA");

$Consulta_NV = "SELECT Numero_Votos FROM modelos WHERE Cod='$Codigo'";
$Numero_Votos = mysql_query($Consulta_NV);

$Consulta_Punt = "SELECT Puntuacion FROM modelos WHERE Cod='$Codigo'";
$Puntuacion = mysql_query($Consulta_Punt);

$Consulta_Media = "SELECT Media FROM modelos WHERE Cod='$Codigo'";
$Media = mysql_query($Consulta_Media);

$Numero_Votos = ($Numero_Votos + 1);
$Puntuacion = $Puntuacion + $Valor_Respuesta;
(Float)$Media = $Puntuacion / $Numero_Votos;

$query = "UPDATE modelos SET Numero_Votos = '$Numero_Votos', Puntuacion = '$Puntuacion', Media = '$Media' WHERE Cod = '$Codigo'";
$result = mysql_query($query);
if ($result)
echo "Su voto ha sido Procesado.";

mysql_close ($db);

?>

Probé cambiar el WHERE por el LIKE y no me hace lo del +4 y me pone que se ha votado una sola vez y con el último valor del voto en la base de datos.

Agradecería si alguien le echa un vistazo y me da mas que sea una pista pq ya no se qué hacer.Muchas Gracias!

Saludos
  #2 (permalink)  
Antiguo 28/04/2006, 08:28
Avatar de CiDHemS  
Fecha de Ingreso: septiembre-2004
Ubicación: Puno - Perú
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 0
solo hiziste la consulta a mysql, pero no cogiste los datos en un array:

deberia quedar asi(mas ordenado...):
Código PHP:
<?php

if (!isset($Valor_Respuesta))
{
echo 
"No ha elegido ningún valor";
return;
}
$db mysql_pconnect("localhost""root");
if (!
$db)
{
echo 
"Error: No se ha podido conectar a la base de datos. Por favor, inténtelo más tarde.";
exit;
}
mysql_select_db("LAQUESEA");

$datos mysql_fetch_array(mysql_query("select Numero_votos, Puntuacion, Media from modelos where Cod='$Codigo'")); 
//aqui estas haciendo una consulta con los 3 campos que te interesan y luego los pasas al array $datos

$Numero_Votos = ($datos[Numero_Votos] + 1);
$Puntuacion $datos[Puntuacion] + $Valor_Respuesta;
(Float)
$Media $Puntuacion/$Numero_Votos;

$query "UPDATE modelos SET Numero_Votos = '$Numero_Votos', Puntuacion = '$Puntuacion', Media = '$Media' WHERE Cod = '$Codigo'";
$result mysql_query($query);
if (
$result)
echo 
"Su voto ha sido Procesado.";

mysql_close ($db);

?>
  #3 (permalink)  
Antiguo 28/04/2006, 11:39
 
Fecha de Ingreso: septiembre-2004
Ubicación: Gran Canaria
Mensajes: 89
Antigüedad: 13 años, 3 meses
Puntos: 0
Pues Perfecto CidHemS. Muchisimas Gracias.

Habia leido algo del 'mysql_fetch_array' y lo intenté pero no me salia. Retoqué un par d cosillas y va perfecto. Con empujoncitos como este cuando uno está bloqueado es como siguen las ganas de aprender con esto.

Gracias Crack!

Saludos!
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 03:30.