Bueno ... en esta ocacion construiremos un pequeño sistema de votacion.
REQUERIMIENTOS: Servidor que soporte php y base de datos(SQL)
1.- Para comenzar es nesesario acceder a nuestra base de datos y crear las tablas nesesarias para que se ejecute nuestro Script..
CREATE TABLE `encuesta_blt` (
`id_encuesta` varchar(5) NOT NULL default '',
`id_opcion` varchar(5) NOT NULL default '',
`ip` varchar(15) NOT NULL default '' )
TYPE=MyISAM;
2.- Una vez creadas las tablas, procederemos a crear al archivo que contendra los parametros de la encuesta..al igual que los datos de nuestra base de datos ... lo llamaremos "encuesta_sm.php"
:?:NOTA-->Sustituye:LOCALHOST, USUARIO, PASSWORD, BASE_DE_DATOS,..por tus datos
-----------------------------
:?:NOTA2-->En la parte del script que indica //PREGUNTAS Y OPCIONES, ahi colocamos nuestras preguntas y respuestas, manteniendo los parametros y signos...podemos asignar tantas preguntas como querramos, siempre y cuando mantengamos el orden e identificativo de cada pregunta (1,2,3, etc..)
//"encuesta_sm.php"
<?
mysql_connect('LOCALHOST','USUARIO','PASSWORD')or die('ERROR EN LA CONEXION :'.mysql_error());
mysql_select_db('BASE_DE_DATOS')or die('ERROR AL ESCOJER LA BD :'.mysql_error());
function show_encuesta($id_ENCUESTA,$proteccion_IP){
//PREGUNTAS Y OPCIONES
$encuesta[1]=array('¿Que te parece este Script?',array('Exelente','Bueno','Regular','Malo','Pesimo'));
$encuesta[2]=array('¿Que te parece la web CCTW?',array('Exelente','Buena','Regular','Mala','Pesima'));
$encuesta[3]=array('¿Que te parece Santuario Maldito?',array('Exelente','Bueno','Regular','Malo','Pesimo'));
//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)){
$ssqls=mysql_query('SELECT * FROM encuesta_blt WHERE ip="'.$REMOTE_ADDR.'"')or die(mysql_error());
if($proteccion_IP && mysql_num_rows($ssqls)>=1){
$html_encuesta='<font color="#FF0000" face="tahoma" size="2">Usted ya voto , Gracias! </font>';
}
else {mysql_query('INSERT INTO encuesta_blt VALUES("'.$id_ENCUESTA.'","'.$_POST.'","'.$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.= ''.$pregunta_de_la_encuesta.'';
$html_encuesta.='
';
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==$KEY && isset($_POST)){$html_encuesta.='checked'; }
$html_encuesta.= '>'.$OPCION.' '.$estimar_porcentaje.'% Votos: '.$votos_x_opcion.'
';
}
$html_encuesta.='
<input type="submit" value="Votar">';
$html_encuesta.='</form>';
return $html_encuesta;
}
?>
3.- Ahora viene al paso final ,, que es invocar una de las encuestas que creamos en el codigo anterior mediante un include, para hacer eso pegamos el siguiente codigo en la parte de la web donde queremos que aparezca la encuesta ... cambiando el numero 1 por la pregunta que nosotros deseemos mostrar...
<?
include('encuesta_sm.php');
echo show_encuesta(1,true);
?>
------------------------------------
NOTA---> Recordemos que en el codigo "encuesta_sm.php", definimos varias preguntas con sus respectivas opciones, cada pregunta estaba definida por un numero (1,2,3, etc...) , en el include vemos que tiene el numero "1" ..esto indica que la encuesta mostrara la pregunta numero 1 con sus respectivas opciones... si queremos mostrar otra pregunta , solo cambiamos el numero "1", por el numero identificativo de esa pregunta ...
VER DEMO DE LA ENCUESTA
------------------------------------------------
Espero sea de su agrado y les sirva ... SUERTE !!!!
------------------------------------------------
Dudas?? Sugerencias?? Comentarios?? --> No duden en contactarme: [correo eliminado]
-----------------------------------------------
REQUERIMIENTOS: Servidor que soporte php y base de datos(SQL)
1.- Para comenzar es nesesario acceder a nuestra base de datos y crear las tablas nesesarias para que se ejecute nuestro Script..
CREATE TABLE `encuesta_blt` (
`id_encuesta` varchar(5) NOT NULL default '',
`id_opcion` varchar(5) NOT NULL default '',
`ip` varchar(15) NOT NULL default '' )
TYPE=MyISAM;
2.- Una vez creadas las tablas, procederemos a crear al archivo que contendra los parametros de la encuesta..al igual que los datos de nuestra base de datos ... lo llamaremos "encuesta_sm.php"
:?:NOTA-->Sustituye:LOCALHOST, USUARIO, PASSWORD, BASE_DE_DATOS,..por tus datos
-----------------------------
:?:NOTA2-->En la parte del script que indica //PREGUNTAS Y OPCIONES, ahi colocamos nuestras preguntas y respuestas, manteniendo los parametros y signos...podemos asignar tantas preguntas como querramos, siempre y cuando mantengamos el orden e identificativo de cada pregunta (1,2,3, etc..)
//"encuesta_sm.php"
<?
mysql_connect('LOCALHOST','USUARIO','PASSWORD')or die('ERROR EN LA CONEXION :'.mysql_error());
mysql_select_db('BASE_DE_DATOS')or die('ERROR AL ESCOJER LA BD :'.mysql_error());
function show_encuesta($id_ENCUESTA,$proteccion_IP){
//PREGUNTAS Y OPCIONES
$encuesta[1]=array('¿Que te parece este Script?',array('Exelente','Bueno','Regular','Malo','Pesimo'));
$encuesta[2]=array('¿Que te parece la web CCTW?',array('Exelente','Buena','Regular','Mala','Pesima'));
$encuesta[3]=array('¿Que te parece Santuario Maldito?',array('Exelente','Bueno','Regular','Malo','Pesimo'));
//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)){
$ssqls=mysql_query('SELECT * FROM encuesta_blt WHERE ip="'.$REMOTE_ADDR.'"')or die(mysql_error());
if($proteccion_IP && mysql_num_rows($ssqls)>=1){
$html_encuesta='<font color="#FF0000" face="tahoma" size="2">Usted ya voto , Gracias! </font>';
}
else {mysql_query('INSERT INTO encuesta_blt VALUES("'.$id_ENCUESTA.'","'.$_POST.'","'.$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.= ''.$pregunta_de_la_encuesta.'';
$html_encuesta.='
';
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==$KEY && isset($_POST)){$html_encuesta.='checked'; }
$html_encuesta.= '>'.$OPCION.' '.$estimar_porcentaje.'% Votos: '.$votos_x_opcion.'
';
}
$html_encuesta.='
<input type="submit" value="Votar">';
$html_encuesta.='</form>';
return $html_encuesta;
}
?>
3.- Ahora viene al paso final ,, que es invocar una de las encuestas que creamos en el codigo anterior mediante un include, para hacer eso pegamos el siguiente codigo en la parte de la web donde queremos que aparezca la encuesta ... cambiando el numero 1 por la pregunta que nosotros deseemos mostrar...
<?
include('encuesta_sm.php');
echo show_encuesta(1,true);
?>
------------------------------------
NOTA---> Recordemos que en el codigo "encuesta_sm.php", definimos varias preguntas con sus respectivas opciones, cada pregunta estaba definida por un numero (1,2,3, etc...) , en el include vemos que tiene el numero "1" ..esto indica que la encuesta mostrara la pregunta numero 1 con sus respectivas opciones... si queremos mostrar otra pregunta , solo cambiamos el numero "1", por el numero identificativo de esa pregunta ...
VER DEMO DE LA ENCUESTA
------------------------------------------------
Espero sea de su agrado y les sirva ... SUERTE !!!!
------------------------------------------------
Dudas?? Sugerencias?? Comentarios?? --> No duden en contactarme: [correo eliminado]
-----------------------------------------------