Autor Tema: ayuda con php  (Leído 4568 veces)

0 Usuarios y 1 Visitante están viendo este tema.

caix

  • Las rosas son #ff0000 las violetas son #0000ff
  • *
  • Mensajes: 102
  • Liked: 0
ayuda con php
« : abril 03, 2006, 08:27:26 pm »
una pregunta como puedo almacenar un valor de un checkbox y hacer el conteo de esos check box en php y mysql para que me arroje una grafica o un porcentaje de cada check box, a si como por ejemplo cuando se vota una encuesta. bueno de antemano gracias por lo que me puedan ayudar
"piensa como piensan los sabios mas habla como habla la gente normal"

kanzer

  • no me han domesticado aun!!
  • ***
  • Mensajes: 396
  • Liked: 1
  • guacala que rico :p
Re: ayuda con php
« Respuesta #1 : abril 03, 2006, 08:52:24 pm »
Sencillo script que permite crear una encuesta sin necesidad de usar MySQL. Creado por Sebastián Ahumada
haces un archivo ke se llame index.php o el nombre ke kieras kon el sigiente contenido

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Encuesta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#000000">
<p><font size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#FFFFFF">Que
  eliges tu???? </font></strong></font></p>
<form name="form1" method="post" action="encuesta.php">
  <p> <font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">
    <input type="radio" name="op" value="a">
    <font color="#00FF00">Opci&oacute;n A</font></font></p>
  <p> <font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">
    <input type="radio" name="op" value="b">
    <font color="#00FF00">Opci&oacute;n B</font></font></p>
  <p> <font color="#FFFFFF">
    <input type="submit" name="Submit" value="Enviar">
    </font></p>
</form>
<p>&nbsp;</p>
</body>
</html>
 
------------------------------------------------------------------------------------------------------------
luego hacer otro archivo kon el nombre encuesta.php kon el sigiente code

<font face="Tahoma, Trebuchet MS, Verdana" size="2" color="#000000">
<?


$archivo1 = "op_a.txt";           // agrega los archivos aqui si quieres mas opciones
$archivo2 = "op_b.txt";



$abre1 = fopen($archivo1, "r");    // aqui abres los archivos  (modo de lectura)
$abre2 = fopen($archivo2, "r");    // (recuerda agregar otras opciones si las pusiste)




$total1 = fread($abre1, filesize($archivo1));   // aqui lees los archivos
$total2 = fread($abre2, filesize($archivo2));   // (recuerda agregar otras opciones si las pusiste)




fclose($abre1);     // aqui cierras los archivos   
fclose($abre2);     // (recuerda agregar otras opciones si las pusiste)



if($op=="a")                            // aqui vemos la opcion del usuario
{
  $abre1 = fopen($archivo1, "w");       // abrimos el archivo (modo de escritura) 
  $total1=$total1+1;                    // sumamos 1
  $grabar1 = fwrite($abre1, $total1);   // escribimos el nuevo valor   

  fclose($abre1);                       // cerramos el archivo
}   


else if($op=="b")                       // lo mismo de arriba, para las demás opciones
{

  $abre2 = fopen($archivo2, "w");       // tu sabes de php, no te será dificil agregar
  $total2=$total2+1;                    // mas opciones
  $grabar2 = fwrite($abre2, $total2);
 
  fclose($abre2);
}





       
$votos=$total1+$total2;   //  si tienes mas opciones debes sumarlas aquí


$por1=$total1*100/$votos;   // los porcentajes (RECUERDA LOS DATOS AGREGADOS)
$por1=intval ( $por1 ,10);

$por2=$total2*100/$votos;
$por2=intval ( $por2 ,10);

echo "<B><U>RESULTADOS ENCUESTA</B></U>";
echo "<br><br>";

echo "<IMG HEIGHT=15 WIDTH=$por1 SRC=barra.jpg>";  // MUESTRA OPCION 1 CON BARRA DE IMAGEN
echo "<br>";
echo "A: <b>$total1</b> votos - <b>$por1 %</b>";   // OPCION 1 CON NRO DE VOTOS Y PORCENTAJE
echo "<br><br>";

echo "<IMG HEIGHT=15 WIDTH=$por2 SRC=barra.jpg>";  // MUESTRA OPCION 2 CON BARRA DE IMAGEN
echo "<br>";
echo "B: <b>$total2</b> votos - <b>$por2 %</b>";   // OPCION 2 CON NRO DE VOTOS Y PORCENTAJE

echo "<br><br><br>";
echo "Total Votos: <b>$votos</b>";
echo "<br><br>";
echo "<a href=javascript:history.back(-1);>Volver</a>";
?>
</font>
------------------------------------------------------------------------------------------------
luego el archivo con el nombre op_a.txt con lo sigiente
0
---------------------------------------------------------------------------------------------------
luego el archivo con el nombre op_b.txt con lo sigiente
0
------------------------------------------------------------------------------------------------
el codigo y todo lo puedes bajar de el sigiente link
http://kanxer.com/php_encuesta.zip
Escrito originalmente por Sebastián Ahumada

caix

  • Las rosas son #ff0000 las violetas son #0000ff
  • *
  • Mensajes: 102
  • Liked: 0
Re: ayuda con php
« Respuesta #2 : abril 03, 2006, 08:57:35 pm »
gracias por esa ayuda pero es necesario guardar esos valores en mysql para una futura consulta  estoy trabajando en un test de conocimientos y necesito sumar cada uan de esas casilla parea poder sacar el valor de cada pregunta y sacar un porcentaje
"piensa como piensan los sabios mas habla como habla la gente normal"

kanzer

  • no me han domesticado aun!!
  • ***
  • Mensajes: 396
  • Liked: 1
  • guacala que rico :p
Re: ayuda con php
« Respuesta #3 : abril 03, 2006, 09:12:27 pm »
Si sabes algo basico le entenderas ah esto
Cita
$i = 0;
while($i <= '25') {
if ($_POST["opcion1"] == $_POST["pregunta1"])
        {
                $puntos = $puntos+1;
        } else {
                $puntos = 0;
        }
$i = $i+1;
} ?>

Osea ke seria asi
Cita
Mientras hayan preguntas {
si la opcion1 coincide con la pregunta1 entonces
imprime "bien"
} sino {
imprime "mal"
}
Esto es todo aka te dejo el link http://www.php-hispano.net/foros/PHP/6497
« Última Modificación: abril 03, 2006, 09:14:27 pm por kanser »

webrek

  • Mensajes: 15
  • Liked: 0
  • ¡Amo YaBB SE!
Re: ayuda con php
« Respuesta #4 : abril 05, 2006, 06:06:28 pm »
mmmm se me ocurren varias cosas, quieres hacer algo interesante, yo uso AJAX, lo puedes hacer de la siguiente manera

index.html

Código: [Seleccionar]
<html>
<head>
<script language="javascript"  type="text/javascript">

var url = "ejecutar.php?";
var http = getXmlHttpObject();

function handleHttpResponse(){
    if (http.readyState == 1){
        document.getElementById('resultado').innerHTML = "Ejecutando...";
    }
    if (http.readyState == 4){
        results = http.responseText;
        document.getElementById('resultado').innerHTML = results;
    }
}

function sendQuerystring(producto){
    http.open("GET", url + producto, true);
    http.onreadystatechange = handleHttpResponse;
    http.send(null);
}

function getXmlHttpObject(){
    var xmlhttp;

    /*@cc_on
    @if (@_jscript_version >= 5)
    try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e){
    try{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e){
    xmlhttp = false;
    }
    }
    @else
    xmlhttp = false;
    @end @*/

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
        try{
            xmlhttp = new XMLHttpRequest();
        }
        catch (e){
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

</script>
<body>
<input type="checkbox" onClick="sendQuerystring('contar=si')"><--! Si quieres deshabilitar el checkbox una vez que le dieron click solo le haces onClick="sendQuerystring('contar=yes';this.disabled=true)" -->
</body>
</html>

ejecutar.php

Código: [Seleccionar]
<?
include 'db.php';
if($contar==si) {
$sql="select * from estadisticas"; //suponiendo que asi se llama tu tabla
$query=mysql_query($sql);
$array=mysql_fetch_array($query);
$actualizar="update estadisticas set veces =$array[veces]+1" //suponiendo que en tu tabla estadistica tienes una columna llamada veces
$query_update=mysql_query($actualizar);
}
?>
Esto solo es algo que se me ocurre has tus arreglos en tus tablas para guardar la informacion para que sepas como la vas a guardar y tus graficas puedes ayudarte como te explicaron aqui arriba para sacarlas.

Espero y te sirva

AJAX RULZ

caix

  • Las rosas son #ff0000 las violetas son #0000ff
  • *
  • Mensajes: 102
  • Liked: 0
Re: ayuda con php
« Respuesta #5 : abril 18, 2006, 07:44:45 pm »
pues me fui con la ayuda de kanser y modifique ese script elobjetico es que suponiendo de 10 preguntas 4 pertenecen a un mismo grupo es decir de las 10 preguntas voy a sumar los valores de las preguntas 1,5,7,8 por decir algo creo que esto ya lo logre. pero utilizando dos .txt op_a y op_aa y asi para poder sumar los valores de esas 4 preguntas elproblema que tendria que hacer tantos txt para 80 preguntas se puede almacenar esos valores en un solo txt para un grupo de preguntas en un txt se maneja 0 se podra maneja 0,0,0,0 que serian los valores de un grupo de preguntas bueno ya me avente un buen choro espero me ayuden
"piensa como piensan los sabios mas habla como habla la gente normal"