Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2011, 17:06
Avatar de juan_14nob
juan_14nob
 
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
encuesta en sajax

hola Estoy haciendo un sistema de encuesta con sajax, pero no funciona
Explico brevemente como funciona,al cargar la pagina encuesta.php en el <select> cargo las encuestas ordenadas por fecha. y al seleccionar la encuesta el evento 'onchange' hace correr la funcion javascript 'cargarEncuesta()'





codigo..


Código PHP:
<?php
require "conexion.php";
require_once (
'sajax/php/Sajax.php');

function 
recuperarEncuesta($idEncuesta){
    
$res mysql_query("SELECT * FROM opciones, encuestas WHERE opciones.idEncuesta = encuestas.idEncuesta AND opciones.idEncuesta = $idEncuesta ORDER BY nombreOpcion");
    echo 
"dwqdqd";
    if(
mysql_num_rows($res)){
        while(
$row mysql_fetch_array($res)){
            
$ret .= "<div id='opcion' name='opcion'>";
            
$ret .= "<span>$row[idOpcion]</span>";
            
$ret .= "<span>$row[nombreOpcion]</span>";
            
$ret .= "<span>$row[votos]</span>";
            
$ret .= "</div>";
            
$totalVotos += $row[votos];
            
$tituloEncuesta $row[nombreEncuesta];
           
        }
        
$ret .= "<div>$totalVotos</div>";
        
$ret .= "<div>$tituloEncuesta</div>";
        
        echo 
"22";
    }
    return 
$ret;
    echo 
"dwad";
}
function 
votarOpcion($idOpcion){
    
$res mysql_query("UPDATE opciones SET votos = votos +1 WHERE idOpcion = $idOpcion");
        
}
sajax_init();
sajax_export("recuperarEncuesta");
sajax_export("votarOpcion");
sajax_handle_client_request();



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/RE/xhtml1/DTD/xhtml-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>
    Sajax - encuestas - online..
    </title>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"/>
    <script language="javascript">
    <?php
   sajax_show_javascript
();
    
?>
    
    window.onload = function(){
        setInterval(function(){cargarEncuesta()},200000);
        
    };
    function cargarEncuesta(){
              
             
        var idEncuesta;
        idEncuesta = document.getElementById("cdoEncuesta").value;
        if(idEncuesta != ''){
            
            x_recuperarEncuesta(idEncuesta, mostrarEncuesta);
           
            
        }
        
        
    }
    function votar(idOpcion){
        x_votarOpcion(idOpcion, cargarEncuesta);
        
        
    }
    function mostrarEncuesta(resultado){
      alert("ewf");
      
        if(resultado != ''){
        
            var opcion, idOpcion, nombreOpcion, votos, salida = '',tituloEncuesta;
            
            var contenedor = document.getElementById("contenedor");
            contenedor.innerHTML = resultado;
            
            
            cantidadOpciones = contenedor.getElementsByTagName("div").length -2;
            totalVotos = contenedor.getElementByTagName("div")[cantidadOpciones].innerHTML;
            tituloEncuesta = contenedor.getElementByTagName("div")[cantidadOpciones+1].innerHTML;
          
            for(var c=0;c<cantidadOpciones;c++){
                opcion = contenedor.getElementsByTagName("div")[c];
                var aa = 1;
                var bb = 1;
                if(bb == aa){
                   alert("fwe");
                    
                }
                idOpcion = opcion.getElementsByTagName("span")[0].innerHTML;

                nombreOpcion = opcion.getElementsByTagName("span")[1].innerHTML;

                votos = opcion.getElementsByTagName("span")[2].innerHTML;

                porcentaje = parseFloat(votos * 100 / totalVotos);
                porcentaje = porcentaje.toFixed(2);
                
                if(votos == 1){
                    votos = votos + 'voto';
                }else{
                    votos = votos + 'votos';    
                }
                
                salida = salida + '<div class="nombreOpcion"><a onclick="votar(' + idOpcion + ')">[v]</a>';
                salida = salida + nombreOpcion + '[' + votos + ',' + porcentaje + '%]</div>';
                salida = salida + '<div class="votos" style="width:' + porcentaje + 'px;"></div>'

            }
            document.getElementById("tituloEncuesta").innerHTML = tituloEncuesta;
            document.getElementById("resultado").style.display = '';
            document.getElementById("resultado").innerHTML = salida;
          }else{
            document.getElementById("tituloEncuesta").innerHTML = '';
            document.getElementById("resultado").style.display = '';
            document.getElementById("resultado").innerHTML = 'No hay resultados';
            
          }
        
    }
    
    </script>
        
    </head>
    <body>
        <div id="contenedor" name="contenedor" style="display:none;"></div>
        <div id="contenido">
            <p>&nbsp;</p>
            
            <h1><?php buscarEncuestas(); ?></h1>
            <div id="tituloEncuesta" name="tituloEncuesta" class="tituloEncuesta"></div><br /><br />
            
            <div id="resultado" name="resultado" class="resultado" style="display:none;"></div>

            
        </div>    
        
    </body>
</html>
<?php
function buscarEncuestas(){
    
$res mysql_query("SELECT * FROM encuestas ORDER BY fechaEncuesta");
    if(
mysql_num_rows($res)){
        
$ret "seleccione encuesta: ";
        
$ret .= "<select name='cdoEncuesta' id='cdoEncuesta' onchange='cargarEncuesta()'>";
        
$ret .= "<option value=''>-------------</option>";
        
        while(
$row mysql_fetch_array($res)){
        
$ret .= "<option value='$row[idEncuesta]'>$row[nombreEncuesta]</option>";
        }
        
$ret .= "</select>";
        
    }else{
        
$ret "No hay encuestas disponibles";
        
    }
    echo 
$ret;
    
}


?>