Foros del Web » Programando para Internet » PHP »

Sistema de puntuacion problemita

Estas en el tema de Sistema de puntuacion problemita en el foro de PHP en Foros del Web. Tengo un pequeño problema.. quiero que se muestren 2 fotos, y que al darle click a una de las dos, en la base de datos.. ...
  #1 (permalink)  
Antiguo 08/05/2012, 14:42
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Sistema de puntuacion problemita

Tengo un pequeño problema.. quiero que se muestren 2 fotos, y que al darle click a una de las dos, en la base de datos.. en el campo " votos " se sume 1 al valor que tenga... Mi codigo es este:

Código PHP:
<form method="post" action="" name="form1">
<?php
$conexion
=mysql_connect("localhost","root","ascent");
mysql_select_db("facemash",$conexion);
$row=mysql_query("SELECT * from fotos");
$conteo=mysql_num_rows($row);
$id1=rand(1,$conteo); 

$registros=mysql_query("Select * from fotos where id='$id1'") or die ("Imposible to select the firstone");
if(
$datos=mysql_fetch_array($registros))

    {
      echo 
"<input type='image' name='voto1' src='facemash/".$datos[nombre].".".$datos[formato]."' width='200' height='250'>";
}

?>

</form>


</td><td width="10">Or</td><td width="200">

<?php $id2=rand(1,$conteo); 

while(
$id1==$id2){
$id2=rand(1,3);
}

$registros2=mysql_query("Select * from fotos where id='$id2'") or die ("Imposible to select the secondone");
if(
$datos2=mysql_fetch_array($registros2))
    {


      echo 
"<form method='post' action='' name='form2'><input type='image' name='voto2' src='facemash/".$datos2[nombre].".".$datos2[formato]."' width='200' height='250' onclick=".$voto2."></form>";

}

?>
Intente agregarle a esto, lo siguiente:

if(isset($_POST[form1])){
$voto1=mysql_query("update fotos set votos=$datos[votos]+1 where id=$id1");
}

Pero al darle click a la foto no sucede nada, solo cambian las fotos, pero no envia la info a la base de datos =/ donde esta el problema?
  #2 (permalink)  
Antiguo 09/05/2012, 07:46
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Sistema de puntuacion problemita

Es muy rebuscado lo que hiciste, mucho no se entiende y hay conceptos que le estas pifiando, por ejemplo: el onclick de la segunda imagen, le estas asignando $voto2 que no aparece en el codigo que posteaste y segundo tiene que ser un evento de javascript, si en una variable de php escribiste un evento javascript empezamos mal, otra cosa que note es que usas el input type="image" en vez de usar el tag de html para imagenes que es <img/>

Por lo que llego a entender lo qeu haces para la primer imagen es de todas las que tenes en la base haces un rand entre 1 y esa cantidad y tomas una, que seria un aleatorio de fotos quiero creer, que bien lo podes resolver en la misma consulta de mysql y obviarte hacer el rand() en php.

Ahora bien, con esa imagen tenes que definir una cosa si la imagen va a ser un <a></a> o bien va a tener un evento javascript con un ajax asociado para hacer el update en la base y sumarle un voto.

y para la segunda foto haces un while para no repetir el rand() que saco la imagen anterior, eso lo podes hacer otra vez en la misma consulta pero cuando obtenes el id de la imagen anterior, haces un where id != $idFotoAnterior para obviar el id del rand anterior, para hacer el rand en la misma consulta tenes que utilizar ORDER BY RAND() LIMIT 1

y lo mismo con la anterior imagen definir si va con javascript + ajax o usas un <a></a> que encierre a la imagen y va a un php que haga el update...
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Etiquetas: mysql, puntuacion, sistema
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 21:24.