esta es la tabla
Código PHP:
CREATE TABLE `valoraciones` (
`id_user` int(9) NOT NULL default '0',
`num_votos` int(20) NOT NULL default '0',
`ptos` int(20) NOT NULL default '0'
) TYPE=MyISAM;
y este es el script
Código PHP:
<?
#####CONEXIÓN A MYSQL
@mysql_connect('localhost','usuario','pass')or die ('Ha fallado la conexión: '.mysql_error());
@mysql_select_db('base_de_datos')or die ('Error al seleccionar la BD: '.mysql_error());
////end conexión
$SSQL_=mysql_query("SELECT * FROM valoraciones WHERE id_user='".$_GET[id]."'")or die(mysql_error());
$array_d=mysql_fetch_array($SSQL_);
$valoracioN_total=@round($array_d[ptos]/$array_d[num_votos],2);
if(isset($_POST[valor])){
if(mysql_num_rows($SSQL_)==0){
@mysql_query("INSERT INTO valoraciones VALUES('".$_GET[id]."','1','".$_POST[valor]."')")or die ('ERROR AL INSERTAR REGISTRO: '.mysql_error());
}else{
@mysql_query("UPDATE valoraciones SET num_votos=num_votos+1,ptos=ptos+".$_POST[valor]." WHERE id_user='".$_GET[id]."'")or die ('ERROR AL MODIFICAR REGISTRO: '.mysql_error());
}
header('Location:'.$REQUEST_URI);
exit;
}
echo '<strong>Valoración Media : '.$valoracioN_total.'</strong> <div style="background-color:#EFEFEF; width:50px"><img width="'.($valoracioN_total*5).'" height="6" style="background-color: #000099"></div> <br>Total de votos: '.$array_d[num_votos];
?><hr>
<form action="<? echo $REQUEST_URI;?>" method="post">
Nueva valoración:
<select name="valor" id="valor">
<? for ($i=1; $i<=10 ; $i++) echo '<option value="'.$i.'">'.$i.'</option>';?>
</select>
<input type="submit" value="Votar">
</form>
a ese codigo le kito las lineas ke conectan a la BD y lo meto dentro de un archivo al ke llamo perfil.php pk ahi ya tengo incluido el config y hasta ahi todo bien, los votos funcionan muy bien pero kisiera una cosa mas, pues ke solo se admita un voto por persona creo ke para eso se debe restringir las ip o algo asi, pero no conozco mucho de eso, ah y hay un pekeño problema y es ke una vez ke envio el voto me regresa a la misma web del perfil pero me la muestra cortada, o sea el resto de contenido ke hay debajo del form de votacion (en el caso d mi web: comentarios) y si le doy actualizar sigue = y los votos se siguen incrementando creo ke el problema esta en esa variable $REQUEST_URI, please ayudame con eso como puedo mejorarlo
PD.: una cosa mas kisiera ke en la pagina principal de la web osea en mi index.php (o home.php en mi caso pk el index es un intro flash) poner un enlace del perfil con mayores votaciones o puntuaciones :)
un saludo :)