PHP - ciclo para recorrer un checkbox

   
Vista:
Imágen de perfil de Maritza

ciclo para recorrer un checkbox

Publicado por Maritza (31 intervenciones) el 12/01/2016 21:33:00
Hola chicos !!

Espero me puedan ayudar tengo una tabla que generó a través de una consulta de base de datos oracle y le agregue un check box para poder seleccionar una fila y al agregarle una cantidad me lo guarde ala base de datos. y no me funciona del todo .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$index = 0;
 
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)){
 
$index = $index +1;
 
echo"<tr>";
echo "<td><input type='checkbox' name='check_".$index."' value='".$row['PARTS_CODE']."'></td>\n";
echo "<td > ".$row['PARTS_CODE']."</td>\n";
echo "<td > ".$row['PARTS_NM']."</td>\n";
echo "<td > ".$row['PARTS_DESCR']."</td>\n";
echo "<td > ".$row['LOC_CODE']."</td>\n";
echo "<td > ".$row['LOT_CODE']."</td>\n";
echo "<td > ".$row['STOCK_QTY']."</td>\n";


genera un nombre diferente a cada fila pero no se que funcion hacer para que mi metodo post tome el valor de cada check bx y poder neviarlo ala base de datos
Este es mi metodo post pero no me toma los nombres del checkbox.

1
2
3
4
5
6
$$valueInqPar='';
if (isset($_POST["check_".$index.""])) {
 
    $valueInqPart= $_POST["check".$index.""];
  $valueInqPart = strtoupper($valueInqPart);
}

espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ciclo para recorrer un checkbox

Publicado por Mauricio (25 intervenciones) el 12/01/2016 22:22:23
Hola Maritza
numero uno o si tienes el ciclo para recorrer los check que vienen en tu post y no lo pusiste
o de inicio solo usas ese if

numero dos en esta instruccion te falta el guion bajo "_" despues de check
1
$valueInqPart= $_POST["check_".$index.""];

si te sirvio marcar como respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maritza

ciclo para recorrer un checkbox

Publicado por Maritza (31 intervenciones) el 12/01/2016 22:39:52
hola! Mauricio

solo tengo ese if , voy empezando a progrmar y no se como hacer el ciclo. no se si me pudes dar un ejemplo y si ya correji sobre el gion bajo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ciclo para recorrer un checkbox

Publicado por Mauricio (25 intervenciones) el 13/01/2016 00:52:25
Hola Maritza vamos a utilizar la logica de como generas los checkbox con el ciclo while
pero en este caso utilizaremos un for
sabemos que la variable post es un array
en el siguiente for la variable $i sera nuestro contador y nuestro indice
lo que hace este for es recorrer todos los elementos que vienen en el post y con el if que usaste vamos a checar si se crearon los checks con el nombre que se creo por ejemplo check_0, check_1, etc
1
2
3
4
5
6
7
8
for($i=0;$i<count($_POST); $i++){
		if (isset($_POST["check_".$i.""])) {
 
	    $valueInqPart= $_POST["check_".$i.""];
	  $valueInqPart = strtoupper($valueInqPart);
// tu query para la inserccion a la bd
	}
}


Saludos.
si te sirvio marca como respuesta plis :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Maritza

ciclo para recorrer un checkbox

Publicado por Maritza (31 intervenciones) el 14/01/2016 17:26:31
Hola!!Mauricio
Te comento si me funciono Muchisimas gracias
Aprovechando de tu generosidad


tengo esta tabla
Capture

como puedes ver en la columna de opciones aparecen unos checkbox . Tengo un detalle hay si Guardo mas de tre o 4 filas me toma el ultimo valor del checkbox de las opciones la cual hace que todos los demas tomen ese valor . No se como hacer por ejemplo si seleccionó la opción en la fila uno EF y en la fila 7 E.COM que cada fila tome el valor seleccionado . Aqui te dejo mi codigo .
Esas opciones son resultados de mi consulta de la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ValueOPT = '';
$ValueOPT1='OPT1';
$ValueOPT2 ='OPT2';
$ValueOPT3= 'OPT3';
if(isset($_POST['checkbox1'])) {
   $ValueOPT = $_POST['checkbox1'];
}
 
 if(isset($_POST['checkbox2'])) {
   $ValueOPT =$_POST['checkbox2'];
}
 
 if(isset($_POST['checkbox3'])) {
   $ValueOPT =$_POST['checkbox3'];
}




1
2
3
4
5
print "<td ><input  type='checkbox' onclick='validar(formulario.checkbox1,0)' name='checkbox1' value='".$row['OPT1']."'>".$row['OPT1']."";
print" <br>";
echo "<input type='checkbox' onclick='validar(formulario.checkbox2,0)' name='checkbox2' value='".$row['OPT2']."'>".$row['OPT2']."";
echo " <br>";
echo "<input type='checkbox' onclick='validar(formulario.checkbox3,0)' name='checkbox3' value='".$row['OPT3']."'>".$row['OPT3']."";

Este es el procedimiento de mi consulta.Los demas parametros si me los toma bien el detalle nomas son los checkbox.Agradezco tu apoyo
Es la primera vez que trabajo con procedimientos Almacenados.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$valueInqPart='';
 
for($i=0;$i<=count($_POST); $i++){
    if (isset($_POST["check_".$i.""])) {
$valueInqPart= $_POST["check_".$i.""];
  $valueInqPart = strtoupper($valueInqPart);
 
if (isset($_POST['operation']) && $_POST['operation']=='OK' ) {
}
 
    $p3 = $valueCustomer; //Departamento de salida de material 
    $p4 = $ValueOPT; // Departamento de entrada 
    $p5 = $valueLoc;    //$valueLoc; //lOC_CODE
    $p6 = $valueInqPart;//$valueInqPart;//Numero de parte
    $p7 = $valueLot;//$valueLot;//LOT_CODE 
    $p8 =  1; ///$valueIssQty;//Cantiad de salida 
    $p9 = '2178';//Usurio ingresado en el sistema para el registratr poner el del login 
 
 
 
    $stid = oci_parse($conn,'begin SP_WEB_PRODUCTION_MOVE_WIP(:p1, :p2, :p3, :p4, :p5, :p6, :p7, :p8, :p9, :p10, :p11); end;');
      oci_bind_by_name($stid, ':p1', $p1);
      oci_bind_by_name($stid, ':p2', $p2);
      oci_bind_by_name($stid, ':p3', $p3);
      oci_bind_by_name($stid, ':p4', $p4);
      oci_bind_by_name($stid, ':p5', $p5);
      oci_bind_by_name($stid, ':p6', $p6);
      oci_bind_by_name($stid, ':p7', $p7);
      oci_bind_by_name($stid, ':p8', $p8);
      oci_bind_by_name($stid, ':p9', $p9);
      oci_bind_by_name($stid, ':p10',$out1, 40);
      oci_bind_by_name($stid, ':p11',$out2, 40);
      oci_execute($stid);
 
    //Aqui se valida los valores de retorno
    //if ($out1 == "SUCCESS") { 
     // header('Location:sucess.php');
   // } else {
 
    //  header('Location:failure.php');
    //}
      print "Valor de salida 1=".$out1;
 
      echo "</br>";
      echo "</br>";
 
      print "Valor de salida 2=".$out2;
    }
 
  }
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar