Foros del Web » Programando para Internet » PHP »

Eventos con checkbox

Estas en el tema de Eventos con checkbox en el foro de PHP en Foros del Web. Hola a todos. Soy nuevo en el foro y también en php y javascript Lo que necesito hacer es: Después de haber obtenido los resultados ...
  #1 (permalink)  
Antiguo 28/09/2012, 07:19
Avatar de adminescuela  
Fecha de Ingreso: septiembre-2012
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación Eventos con checkbox

Hola a todos. Soy nuevo en el foro y también en php y javascript
Lo que necesito hacer es:
Después de haber obtenido los resultados de una consulta en php, se agregan casillas de verificación a ciertos campos de la tabla.
Quiero que haciendo un clic en cualquiera de las casillas, se haga el correspondiente update a la base de datos cambiando el estado de esa variable.
No sé cómo empezar.
Ya tengo los resultados y las casillas se agregan bien, pero no sé cómo seguir.
Ayuda por favor.

El código de mi página buscar-certificado.php es el siguiente y espero que ayude a pensar la solución.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Resultados de consulta de certificados</title>
<link href="plantilla_estilo.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" 
<!--<script language="JavaScript" type="text/javascript" src="js/codigo.js"></script> -->

<style type="text/css">
<!--
.Estilo1 {
    color: #CC6600;
    font-weight: bold;
}
-->
</style>

<script type="text/javascript">
        /*function actualizarpagina (checkbox) {
        //Location: buscar-certificado.php;
          //document.getElementById('campoOculto').value = val;
              //document.forms[0].submit();
            
            if (checkbox.checked) {
                alert ("The check box is checked.");
          }
            else {
                alert ("The check box is not checked.");
            }
        }*/

function seleccionaTR(elemento)    {
    ele = elemento;
    while (ele.tagName != "TR") {ele = ele.parentNode;}
    if (ele.style.backgroundColor != "#FE9A2E")    { // #FE9A2E color naranja
        ele.style.backgroundColor = "#FE9A2E";

        for (i = 0, celdas = ele.getElementsByTagName("TD"), total = celdas.length; i < total; i ++)
            if (celdas[i].getElementsByTagName("SPAN").length > 0)    {
                yo = celdas[i].getElementsByTagName("SPAN")[0];
                contenido = yo.innerHTML; //inner sirve para "escribir" dentro de un elemento HTML

                //nuevo = document.createElement("input");
                //nuevo.setAttribute("type", "text");

                //nuevo.value = contenido;
                //yo.parentNode.replaceChild(nuevo, yo);

                if (i == celdas.length - 1) {
                    cambiar = document.createElement("button"); //creo el botón
                    cambiar.innerHTML = "cambiar"; //lo agrego a la celda
                    yo.parentNode.appendChild(cambiar);
                    cambiar.onclick = cambiarTR;
                }
        }
    }    else alert("fila seleccionada")
}

function cambiarTR(e) {
    if (window.event)    elemento = event.srcElement;
    else    elemento = e.target;
    ele = elemento;
    while (ele.tagName != "TR") {ele = ele.parentNode;}
    elemento.parentNode.removeChild(elemento);
    ele.style.backgroundColor = "#D0F5A9";

        for (i = 0, celdas = ele.getElementsByTagName("TD"), total = celdas.length; i < total; i ++)
            if (celdas[i].getElementsByTagName("INPUT")[0].getAttribute("type") == "text")    {
                yo = celdas[i].getElementsByTagName("INPUT")[0];
                contenido = yo.value;

                nuevo = document.createElement("span");

                nuevo.appendChild(document.createTextNode(contenido));
                yo.parentNode.replaceChild(nuevo, yo);
        }
}

</script>
    
</head>
<body>

<div id="plantilla_wrapper">

    <div id="plantilla_header">
        <div id="site_title">
        
            <h1><a href="index.php"><img src="images/logo2.png" alt="logo" width="387" height="44" border="0" /><span>M&oacutedulo de consultas</span></a></h1>
        </div> <!-- end of site_title -->
    </div> <!-- end of header -->
  
  <div id="plantilla_main"><span class="main_top"></span> 
     
     <p class="welcome_text"><span class="fl_img"><img src="images/logo_escuela.png" alt="Our services" width="186" height="181" /></span><span class="Estilo1">&quot;Creciendo, Trabajando, Capacitando... &quot;</span></p>
       
       <div class="col_w620 float_r">
                  <h2>Resultados de la búsqueda</h2>
                  <div class="image_wrapper fl_img"><img src="images/lupa.png" alt="lupa" width="90" height="90" /></div>
                <p>
                    
          <?php      
                        $apellido 
$_POST['apellido'];
                        
                    
$link mysql_connect("localhost","root","") or die ("no se ha podido conectar");
                        
mysql_select_db("certificados") or die("Error al tratar de selecccionar esta base");
                        
                        
$sql "SELECT * FROM certificado WHERE apellido = '$apellido'";
                        
$result mysql_query($sql,$link);
                    
                    if (
mysql_num_rows($result)){
                    
                            echo 
"<table border = '1'";
                            echo 
"<tr>";
                            echo 
"<td><b> C&oacute;digo del certificado </b></td>";
                            echo 
"<td><b> Nombre </b></td>";
                            echo 
"<td><b> Apellido </b></td>";
                            echo 
"<td><b> Nombre del Curso/Taller </b></td>";
                              echo 
"<td><b> Fecha de realizaci&oacuten </b></td>";
                            echo 
"<td><b> Retiró certificado </b></td>";
                            echo 
"</tr>";
                    
                            while(
$row mysql_fetch_object($result)) {
                    
                                echo 
"<tr>";
                                echo 
"<td>$row->id_certificado</td>";
                                echo 
"<td>$row->nombre</td>";
                                echo 
"<td>$row->apellido</td>";
                                echo 
"<td>$row->curso</td>";
                                echo 
"<td>$row->fecha</td>";
                
//echo "<td>$row->dia</td>";
                //echo "<td>$row->mes</td>";
                //echo "<td>$row->año</td>";
                                
if($row->retirado=="NO") {
                                    
//<form name="Modificar Registro" action="modificar-registro.php" method="post" >
                                        //echo "<input type="submit" value="Retirado" name="boton_modificar"/>";
                                        //echo "<td>$row->retirado</td>" +'<button onclic=""><font color="#cc0000"><strong>AQUI EL TEXTO</strong></font> </button>';
                                        //echo "<td>$row->retirado <input name=\"casilla\" type=\"checkbox\" id=\"campoOculto\" value=\"si\" onclick=\"javascript:actualizarpagina(this);\" /></td>";
                                        
echo "<td>$row->retirado <input name=\"casilla\" type=\"checkbox\" id=\"campoOculto\" value=\"si\" onclick=\"seleccionaTR(this)\" /></td>";
                                    
//</form>
                                
} else {
                                    echo 
"<td>$row->retirado</td>";
                                }
                                echo 
"</tr>";
                    
                            }
                    
                            echo 
"</table>";
                    }else
                        echo 
"No se ha encontrado ning&uacute;n registro.";
                    
                        
mysql_free_result($result);
                    
                        
mysql_close($link);
                    
?> 
                </p>
                    
                 <div class="button float_r"><a href="index.php">Volver...</a></div>
    </div>
       
               <div class="cleaner"></div>
  </div> <!-- end of main -->
    <div id="plantilla_main_bottom"></div> <!-- end of main -->
    
    <div id="plantilla_footer"><a href="http://www.wix.com/escuelavirtualcat/escuela" target="_parent">Escuela de Capacitación Judicial</a> | por Yorch-Tecno </div> 
    <!-- end of plantilla_footer -->
</div> <!-- end of wrapper -->

</body>
</html>
lo que está dentro del bloque script sólo cumple con lo de pintar la fila de color pero no agrega el botón.
Lo que necesito es que lo agregue y que haciendo clic en el botón se actualicen los cambios en la base de datos.

Etiquetas: codigo-php, resultados-consulta, script.php, tabla
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 20:50.