Foros del Web » Programando para Internet » Javascript » Frameworks JS »

encuesta en sajax

Estas en el tema de encuesta en sajax en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/05/2011, 17:06
Avatar de 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;
    
}


?>

Etiquetas: ajax, encuesta, sajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:31.