Foros del Web » Programando para Internet » PHP »

Problema con sistema de encuesta

Estas en el tema de Problema con sistema de encuesta en el foro de PHP en Foros del Web. Hola a todos.. Sigo realizando el sistema de encuestas.. de la siguiente manera: Código PHP: <html> <head> <title>Sistema de Encuestas dinamico</title> </head> <body> <?php $conexion  =  mysql_connect ( ...
  #1 (permalink)  
Antiguo 02/03/2011, 14:10
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 13 años, 11 meses
Puntos: 6
Problema con sistema de encuesta

Hola a todos.. Sigo realizando el sistema de encuestas.. de la siguiente manera:

Código PHP:
<html>
<head>
<title>Sistema de Encuestas dinamico</title>

</head>
<body>
<?php
$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("roberto"$conexion) or die ("Problema al seleccionar bd");


?>

<table border="1" cellspacing="0"cellpadding="0" class="adminlist">
    <thead>
        <tr>
            <th width="5"> # </th>
            <th width="20"><input type="checkbox" name="todos" value=""></th>
            <th class="title"><a href="encuesmodel.php?order=pregunta" title="Haz click para ordenar por esta columna">Titulo de la Encuesta</a></th>
            <th align="center" width="5%"><a href="encuesmodel.php?order=publicado" title="Haz click para ordenar por esta columna">Publicado</a></th>
            <th align="center" width="5%"><a href="encuesmodel.php?order=votos" title="Haz click para ordenar por esta columna">Votos</a></th>
            <th align="center" width="5%"><a href="encuesmodel.php?order=opciones" title="Haz click para ordenar por esta columna">Opciones</a></th>
            <th align="center" width="5%"><a href="encuesmodel.php?order=id" title="Haz click para ordenar por esta columna">Id</a></th>
            
        </tr>
    </thead>
    <tfoot>
        <tr>
            <td colspan="7"><del class="container"><div class="pagination"><div class="limit">Mostrar num.<select id="limit" class="inputbox" size="1" name="limit">
            <option value="5">5</option>
            <option value="10">10</option>
            <option value="15">15</option>
            <option selected="selected" value="20">20</option>
            <option value="30">30</option>
            <option value="50">50</option>
            <option value="100">100</option>
            <option value="0">Todas</option>
            </select>
            </div></div></del>
            </td>
        </tr>
    
    </tfoot>
    <tbody>
<?php
$i 
0;


$consulta "SELECT * FROM encuesta";
$consul mysql_query($consulta,$conexion);
$arrayse mysql_num_rows($consul);
            
            
$consulta "SELECT contadores FROM encuesta_resp";
$query1 mysql_query($consulta,$conexion);
$array3 mysql_fetch_array($query1);
while(
$arrayse=mysql_fetch_array($consul)){        
    
$i $i 1;
    
$publicado $arrayse['permiso'];
    if(
$publicado == 1){
    
$si 1;
    }else{
    
$si 0;
    }
        if (
$i%2==0){ 
        echo 
"<tr class='row0'>";
        echo 
"<td align='center'>".$i."</td><td><input type='checkbox' name='elegir' value='".$arrayse['id']."'></td><td><span class='pregunta'>".$arrayse['pregunta']."</span></td>";
        switch(
$si){

        case (
0):
        echo 
"<td align='center'><a href='encuesmodel.php?pu=11'><img border='0' alt='Despublicado' src='publish_x.png'></a></td>";

        break;
        default:
        echo 
"<td align='center'><a href='encuesmodel.php?pu=12'><img border='0' alt='Publicado' src='tick.png'></a></td>";
        break;
        }
        
$consultaw "SELECT votos FROM encuesta WHERE id = $i ";
        
$consultavot mysql_query($consultaw,$conexion);
        
$vot mysql_fetch_array($consultavot);
        foreach(
$vot as $voot){
        
        }
        echo 
"<td align='center'>".$voot."</td>";
        
        
$consulopc "SELECT opciones FROM encuesta WHERE id = $i ";
        
$consultaopc mysql_query($consulopc,$conexion);
        
$opc mysql_fetch_array($consultaopc);        
        foreach(
$opc as $opciones){
        
        }        
        echo 
"<td align='center'>".$opciones."</td>";
        
        
        echo 
"i vale:".$i;
        
        
        }else{
        echo 
"<tr class='row1'>";
        echo 
"<td align='center'>".$i."</td><td><input type='checkbox' name='elegir' value='".$arrayse['id']."'></td><td><span class='pregunta'>".$arrayse['pregunta']."</span></td>";    
            switch(
$si){

            case (
0):
            echo 
"<td align='center'><a href='encuesmodel.php?pu=13'> <img border='0' alt='Despublicado' src='publish_x.png'></a></td>";

            break;
            default:
            echo 
"<td align='center'><a href='encuesmodel.php?pu=14'><img border='0' alt='Publicado' src='tick.png'></a></td>";
            break;
            }
            
$consultaw "SELECT votos FROM encuesta WHERE id = $i ";
            
$consultavot mysql_query($consultaw,$conexion);
            
$vot mysql_fetch_array($consultavot);
            foreach(
$vot as $voot){
            
            }
            echo 
"<td align='center'>".$voot."</td>";
            
$consulopc "SELECT opciones FROM encuesta WHERE id = $i ";
            
$consultaopc mysql_query($consulopc,$conexion);
            
$opc mysql_fetch_array($consultaopc);        
            foreach(
$opc as $opciones){
        
            }        
            echo 
"<td align='center'>".$opciones."</td>";
        
                if(
$_GET['pu'] == 12){
                
$a 0;
                
$p $i 1;
                
$modi1 "UPDATE encuesta SET permiso = $a WHERE id = $p" ;
                
$querr mysql_query($modi1,$conexion);
                echo 
"<script>window.location='encuesmodel.php'</script>";
                }
        
                if(
$_GET['pu'] == 11){
                
                
$b 1;
                
$p $i 1;
                echo 
"dw".$p;
                
$modi1 "UPDATE encuesta SET permiso = $b WHERE id = $p";
                
$querr mysql_query($modi1,$conexion);
                echo 
"<script>window.location='encuesmodel.php'</script>";
                }
                if(
$_GET['pu'] == 14){
                
$a 0;
                
$p $i 1;
                
$modi1 "UPDATE encuesta SET permiso = $a WHERE id = 1" ;
                
$querr mysql_query($modi1,$conexion);
                echo 
"<script>window.location='encuesmodel.php'</script>";
                }
        
                if(
$_GET['pu'] == 13){
                
                
$b 1;
                
$p $i 1;
                echo 
"dw".$p;
                
$modi1 "UPDATE encuesta SET permiso = $b WHERE id = 1";
                
$querr mysql_query($modi1,$conexion);
                echo 
"<script>window.location='encuesmodel.php'</script>";
                }
                
        
        
        }    
}




    
?>
    </tbody>
</table>



</body>
</html>




Bueno lo que hago es tomar datos de 2 tablas.. y volcarlos a una tabla HTML .. copie el diseño de joomla para las encuesta.. lo que no me sale es la parte de publicado osea al hacer click en la imagen
Código PHP:
echo "<td align='center'><a href='encuesmodel.php?pu=14'><img border='0' alt='Publicado' src='tick.png'></a></td>"
quiero que se publique (osea cambie el valor de la tabla a 1) y al clickearlo de nuevo se despublique.. osea, hacer lo mismo que hace joomla, pero adaptado a mis necesidades..
  #2 (permalink)  
Antiguo 03/03/2011, 08:21
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Problema con sistema de encuesta

Y por que no lo conseguis? Es ese switch el que falta resolver?

Siendo que tenes cierta madurez con PHP te recomiendo que ya empieces a separar las consultas a base de datos en un archivo aparte, o al menos en una clase o en funciones a pie de pagina. Eso te permitirá limpiar un poco el código y hacerlo más mantenible y ampliable de cara al patron MVC. En mi experiencia, no separar "en capas" lleva a enredos ya en proyectos medianos.


Etiquetas: encuesta, sitemap
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 10:04.