Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2005, 09:40
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
sistema de valoraciones

tengo un sistema de esos para valorar noticias, descargas, etc. pero yo lo uso para valorar perfiles de usuario (con foto) aki les pongo los datos de la tabla mysql y el script php

esta es la tabla

Código PHP:
    CREATE TABLE `valoraciones` (
    `
id_userint(9NOT NULL default '0',
    `
num_votosint(20NOT NULL default '0',
    `
ptosint(20NOT 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 :)