PHP - Sistema de votos para noticias

 
Vista:

Sistema de votos para noticias

Publicado por Sebastian (1 intervención) el 10/04/2010 11:13:32
Hola, integre un sistema de valoracion al sistema de noticias de mi web pero quisiera q cada noticia tenga su valoracion y no una valoracion para todas las noticias.

Uso el siguiente script:

<?
mysql_connect('localhost','','')or die('ERROR EN LA CONEXION :'.mysql_error());
mysql_select_db('voto2')or die('ERROR AL ESCOJER LA BD :'.mysql_error());

function show_encuesta($id_ENCUESTA,$proteccion_IP){
// COLOCO TODAS MIS PREGUNTAS Y OPCIONES
$encuesta[1]=array('¿Que te parece el nuevo sitio?',array('Excelente','Muy bueno','Bueno','Feo','Muy Feo','Chau'));
//END
if (!array_key_exists($id_ENCUESTA,$encuesta)) return ('El id de la encuesta no se encuentra disponible');
else
$pregunta_de_la_encuesta = array_shift($encuesta[$id_ENCUESTA]);
$opciones_de_la_encuesta = array_pop ($encuesta[$id_ENCUESTA]);
if(isset($_POST[opcion])){
$ssqls=mysql_query('SELECT * FROM encuesta_blt WHERE ip="'.$REMOTE_ADDR.'"')or die(mysql_error());
//SI DESEAN QUE LA VOTACION SEA POR IP ESTONCES HABILITEN ESTO OK?
/*if($proteccion_IP && mysql_num_rows($ssqls)>=1){
$html_encuesta='<font color="#FF0000" face="tahoma" size="2"><strong>Ya usted tiene un voto registrad</strong>o </font>';
} */
//else {
mysql_query('INSERT INTO encuesta_blt VALUES("'.$id_ENCUESTA.'","'.$_POST[opcion].'","'.$REMOTE_ADDR.'")')or die(mysql_error()); }
//}

$ssql=mysql_query('SELECT * FROM encuesta_blt WHERE id_encuesta="'.$id_ENCUESTA.'"')or die(mysql_error());
$total_votos=mysql_num_rows($ssql);

// IMPRIMIR LOS RESULTADOS.
$html_encuesta.='<form action="'.$_SERVER[REQUEST_URI].'" method="POST">';
$html_encuesta.= '<strong>'.$pregunta_de_la_encuesta.'</strong>';
$html_encuesta.='<br>';
//SI EL VALOR PARA MOSTRAR EL RESULTADO ES DISTINTO A "TURE" ENTONCES DA LA OPCION PARA VOTAR
if ($_GET[ver]!="true" ){
foreach($opciones_de_la_encuesta as $KEY => $OPCION){
$ssql=mysql_query('SELECT * FROM encuesta_blt WHERE id_encuesta="'.$id_ENCUESTA.'" and id_opcion="'.$KEY.'"')or die(mysql_error());
$votos_x_opcion=mysql_num_rows($ssql);
$estimar_porcentaje= @round($votos_x_opcion*100/$total_votos,1);
$html_encuesta.= '<input name="opcion" type="radio" value="'.$KEY.'"';
if($_POST[opcion]==$KEY && isset($_POST[opcion])){$html_encuesta.='checked'; }

$html_encuesta.= '>'.$OPCION.'<br>';
}
}
//SI EL VALOR PARA MOSTRA LOS RESULTADOS ES "TURE" ENTONCES MUESTRA Y SACA EL INPUT
if ($_GET[ver]=="true" ){
foreach($opciones_de_la_encuesta as $KEY => $OPCION){
$ssql=mysql_query('SELECT * FROM encuesta_blt WHERE id_encuesta="'.$id_ENCUESTA.'" and id_opcion="'.$KEY.'"')or die(mysql_error());
$votos_x_opcion=mysql_num_rows($ssql);
$estimar_porcentaje= @round($votos_x_opcion*100/$total_votos,1);
//$html_encuesta.= '<input name="opcion" type="radio" value="'.$KEY.'"';
if($_POST[opcion]==$KEY && isset($_POST[opcion])){$html_encuesta.='checked'; }

$html_encuesta.= '*'.$OPCION.'';
$html_encuesta.= ' '.$estimar_porcentaje.'% Votos: '.$votos_x_opcion.'</strong><br>';
}
}

$html_encuesta.='<br><input type="submit" value="Votar">';
if ($_GET[ver]!="true"){
$html_encuesta.='<a href="?ver=true">Resultados</a>';
}
else{
$html_encuesta.='<a href="?ver=false">Esconder Resultados</a>';
}
$html_encuesta.='</form>';
return $html_encuesta;
}
?>

...y utiliza la siguiente tabla:

CREATE TABLE `votacion` (
`id_encuesta` varchar(5) NOT NULL default '',
`id_opcion` varchar(5) NOT NULL default '',
`ip` varchar(15) NOT NULL default '' )
TYPE=MyISAM;

el script lo probe y funciona bien pero quiero saber como hacer para q cada noticia tenga su valoracion.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder