Nueva pregunta

Pregunta:

Fecha: 08-02-2019 10:31:04 (En Español)

Como tomar el valor de los Checkbox que selecciono?[Resuelta]

hola nuevamente tengo el siguiente problema tengo un archivo que ejecuta una función al darle click al botón la función me arroja 4 botones que al ser presionado me muestra una serie de datos que provienen de una base de datos un IMPUT TYPE CHECKBOX ahora mi pregunta es la siguiente como puedo hacer para que el valor del checkbosx sea el que yo le indique este es el codigo:

archivo: propuesta.php

    <form action="" method="POST">
        <table style="margin: 50px 0px 0px 0px"><td style="padding-top: 10px;"><button id="boton" class="btn btn-danger">Camara 1</button></td><td style="padding: 15px 15px;"><h1 id="palets"></h1></td><td><h1 id="palet1"></h1><h1 id="palet2"><h1 id="palet3"><h1 id="palet4"></h1></h1></h1></td></table>
</form>


  <script>
            function palets(){
                document.getElementById('palets').innerHTML="<button id='bp1'>Palet 1</button><button id='bp2'>Palet 2</button><button id='bp3'>Palet 3</button><button id='bp4'>Palet 4</button>"
            }
            /*document.getElementById('boton').onclick = function(){
                palets();
            }*/
            document.getElementById("boton").addEventListener("click", function(event){
                event.preventDefault()
                palets();
            });
                function palet1(){
                document.getElementById('palet1').innerHTML="<?php include("cam1_pl1_p.php");?>"
            }
            /*document.getElementById('bp1').onclick = function(){
                palet1();
            }*/
            document.addEventListener('click',function(e){ 
                    if(e.target && e.target.id== 'bp1'){
                        e.preventDefault();
                        palet1();
                }
            });
        </script>


en este archivo muestra un Boton que al darle click se despliegan 4 botones mas y si le doy a cual quier boton por medio de esta funcion
 function palet1(){
                document.getElementById('palet1').innerHTML="<?php include("cam1_pl1_p.php");?>"
            } 


ahora esta funcion por medio de un INCLUDE llama a otro archivo el cual es CAM1_PL1_P.PHP

este es el codigo del archivo

archivo: cam1_pl1_p.php

  <form>[code=php]
               <?php
	include("conexion.php");
	$sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 1" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
	$result = mysqli_query($conexion, $sql);
	if (mysqli_num_rows($result) > 0) {
		while($row = mysqli_fetch_assoc($result)) {
			printf("<table><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Cajas: ".$row['totalcaja']."</td><td><input type='checkbox' name='proto' value=' '></td></table>");

		}
		}else {
			echo "0 results";
		}
		mysqli_close($conexion);
	?>

</form>
[/code]

ahora hasta qui todo esta bien las funciones y el llamado funciona perfectamente mi problema es el siguiente yo quiero que el usuario pueda seleccionar de la serie de datos que aparezcan varios, todos o unos pocos y yo pueda tomar esos datos que selecciono yo pueda tomar de esos datos la variable $ROW['PROTOCOLO'] para realizar una operacion en la base de datos segun lo que el usuario selecione
<?php
  proto=$row['protocolo'];
?>


yo intente agregando como valor del imput esto

<input type='checkbox' name='proto' value='<?php echo $proto;? '>


pero yo lo intente llamar con la variable POST y no viene

Formulo nuevamente mi pregunta Como puedo hacer para tomar la variable $row['protocolo'] de la seleccion que hace el usuario

gracias de ante mano se q es super complicado esto por eso que estoy por aqui
gracias quedo atento a su respuestas
Etiquetas: HTML - HTML5 - Javascript - MySQL - PHP - PHP Avanzado Votos: 0 - Respuestas: 7 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 08-02-2019 17:30:18 Hola Yerlin:

    Envíalos como array (todos con el mismo name) y los recoges como tal
    <input type='checkbox' name='proto[]' value='<?php echo $proto;?>'>
      Votos: 1 - Link respuesta
     
  • Fecha: 09-02-2019 09:48:36 Hola cómo estás. Cómo comento el amigoTxema. Tratarlo como array.
    Te dejo un video bien explicado.

    Abrazo

    Checkbox y mysql


      Votos: 1 - Link respuesta
     
  • Fecha: 11-02-2019 03:08:45 hola gracias por sus comentarios el Video no funciona estoy haciendo como me dicen pero no funciona
    incluso serialize la variable y nada yo llamo la variable en otro archivo llamado test y nada les dejo el codigo

    archivo: cam1_pl1_p.php

     <form action="test.php" method="POST"><?php
    session_start();
    	include("conexion.php");
    	$sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 1" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
    	$result = mysqli_query($conexion, $sql);
    	if (mysqli_num_rows($result) > 0) {
    		while($row = mysqli_fetch_assoc($result)) {
    			$proto=$row['protocolo'];
    			printf("<table><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Cajas: ".$row['totalcaja']."</td><td><input type='checkbox' name='proto[]' value='<?php echo serialize($proto);?>'></td></table>");
    
    		}
    		}else {
    			echo "0 results";
    		}
    		mysqli_close($conexion);
    	?>
    	<input type="submit" name="cargar" value="Cargar">
    	<td>
    </form>
    



    archivo: test.php

     <?php
       session_start();
    	
            $protos= unserialize(stripslashes($_POST["proto"]));
    	printf($protos);		
    ?>
    
    


    me arroja el siguiente error

    Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\plasma\test.php on line 4

    osea q me me esta faltando la variable pero mi pregunta es, Sera porque tengo el imput dentro de un Printf no esta tomando la variable almacenada en el value la variable POST porque segun veo la variable POST esta vacia nunca llega nada

    gracias quedo atento a sus comentarios
      Votos: 0 - Link respuesta
     
  • Fecha: 11-02-2019 05:35:01 Hola buen día vuelvo agregar el link

    https://youtu.be/tq37todyOWg
      Votos: 1 - Link respuesta
     
  • Fecha: 11-02-2019 11:18:10 Hola..

    Aquí te paso un ejemplo de como podrías trabajar con checkbox, espero te sirva.
    Si necesitas pasar el nombre del check box y el valor podria ser así, si solo queres el valor, quita el comentario del código, después comenta si te sirvió.

    index
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    </head>
    <body>
    	<h1>CheckBox</h1>
    	<!-- Pasar nombre del chk y valor -->
    	<form action="chk_procesar.php" method="post">
    		<input type="checkbox" value="opcionA_A" name="proto[]">Opción A
    		<input type="checkbox" value="opcionB_B" name="proto[]">Opción B 
    		<input type="checkbox" value="opcionC_C" name="proto[]">Opción C
    		<input type="checkbox" value="opcionD_D" name="proto[]">Opción D
    		<br>
    		<button type="submit">Enviar</button>
    	</form>
    
    	<!-- Pasar solo el valor en los chk -->
    
    	<!-- <form action="chk_procesar.php" method="post">
    		<input type="checkbox" value="A" name="proto[]">Opción A
    		<input type="checkbox" value="B" name="proto[]">Opción B 
    		<input type="checkbox" value="C" name="proto[]">Opción C
    		<input type="checkbox" value="D" name="proto[]">Opción D
    		<br>
    		<button type="submit">Enviar</button>
    	</form> -->
    </body>
    </html>
    


    archivo chk_procesar.php

    <?php 
    
    /*------Solo valor*/
    /*if(isset($_POST)){
    	foreach ($_POST['proto'] as $proto) {
    		echo 'valor: '.$proto.'<br>';
    	}	
    }*/
    
    /*---- nombre chk y valor*/
    if(isset($_POST)){
    	foreach ($_POST['proto'] as $proto) {
    		$chks[]=explode("_",$proto);
    	}
    	echo '<h4>Seleccionados: </h4>';
    	foreach ($chks as $chk) {
    		echo $chk[0].' valor: '.$chk[1].'<br>';
    	}
    }
    
    ?>
    
      Votos: 1 - Link respuesta
     
  • Fecha: 14-02-2019 07:37:20 Listo gracias por la ayuda mi hermano funciono con foreach logre lo que queria ya tengo la selecion en una variable muchas gracias   Votos: 0 - Link respuesta
     
  • Fecha: 14-02-2019 11:53:48 Ok, de nada, estamos en contacto...
    Saludos
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión