PHP - Checkbox no me esta enviando los datos correctos a la base de datos

 
Vista:
Imágen de perfil de Maria

Checkbox no me esta enviando los datos correctos a la base de datos

Publicado por Maria (32 intervenciones) el 18/01/2016 18:59:29
chicos del foro espero me ayuden soy nueva en esto.
tengo una tabla que muestro con la consulta de la base de datos y por cada fila hay una columna que muestra tres opciones las cuales los tengo con checkbox . si envío el dato individual si lo hace pero si envio varios me toma el valor de la ultima checkbox .


estos son mis parametros

1
2
3
4
$ValueOPT ='';
$ValueOPT1='OPT1';
$ValueOPT2 ='OPT2';
$ValueOPT3= 'OPT3';

1
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['checkbox1'])) {
   $ValueOPT = $_POST['checkbox1'];
}
 
 if(isset($_POST['checkbox2'])) {
   $ValueOPT =$_POST['checkbox2'];
}
 
 if(isset($_POST['checkbox3'])) {
   $ValueOPT =$_POST['checkbox3'];
}
Aqui es para que me lo muestre en mi tabla.

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='checkbox1[]' value='".$row['OPT2']."'>".$row['OPT2']."";
echo " <br>";
echo "<input type='checkbox' onclick='validar(formulario.checkbox3,0)' name='checkbox1[]' value='".$row['OPT3']."'>".$row['OPT3']."";

aqui muestro mi tabla.

Espero alguien tiene un ejemplo o ya ha echo este tipo de funciones.
Capture
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Checkbox no me esta enviando los datos correctos a la base de datos

Publicado por xve (6935 intervenciones) el 18/01/2016 23:04:20
Hola Maria, has definido la variable checkbox[] como un array de valores...

prueba a ponerla así:
1
print "<td ><input  type='checkbox'  onclick='validar(formulario.checkbox1,0)' name='checkbox1' value='...

Coméntanos, ok?
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 Maria

Checkbox no me esta enviando los datos correctos a la base de datos

Publicado por Maria (32 intervenciones) el 18/01/2016 23:19:12
Hola! Si ya lo cambie y me sigue tomando un solo valor es decir si selecciono
en la

Fila 1 EF
Fila 2 E.COM
Fila 3 EF

solo me agarra un solo valor para los tres por ejemplo solo E.COM cuando no deveria de ser asi. ya cambie eso que dices y me paso lo mismo.
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Checkbox no me esta enviando los datos correctos a la base de datos

Publicado por xve (6935 intervenciones) el 19/01/2016 07:58:58
Hola Maria... si utilizas un array de valores, tienes que utilizar lógicamente el mismo nombre, pero si no utilizas un array de valores, tienes que utilizar un nombre diferente para cada checkbox, sino, obtendrás siempre el último valor.

Nos puedes mostrar tu código?
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 Maria

Checkbox no me esta enviando los datos correctos a la base de datos

Publicado por Maria (32 intervenciones) el 19/01/2016 16:03:39
si aqui esta mi codigo
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
COdigo checkbox
 
este es mi metodo post
 
 
$valueCustomer ='';//departamento de salida 
$valueLoc='lOC_CODE';
$valueLot='LOT_CODE';
$ValueOPT ='';
 
$ValueOPT1 ='OPT1';
$ValueOPT3 ='OPT2';
$ValueOPT2 ='OPT3';
$seleccionados='';
 
 
  for($i=0; $i <=count($_POST); $i++){
    if (isset($_POST['checkbox1'])) {
  $seleccionados=$_POST['checkbox1'];
 
  }
}
 
for($i=0; $i <=count($_POST); $i++){
   if (isset($_POST['checkbox2'])) {
  $seleccionados=$_POST['checkbox2'];
 
  }
}
 
  for($i=0; $i <=count($_POST); $i++){
    if (isset($_POST['checkbox3'])) {
  $seleccionados=$_POST['checkbox3'];
 
  }
}
 
 
este es mi codigo de mi procedimiento almacenado
<? php
 
$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' ) {
 
    }
 
    $p1 = 'TPH';
    $p2 = 'MG';
    $p3 = $valueCustomer; //Departamento de salida de material 
    $p4 = $seleccionados; // Departamento de entrada 
    $p5 = $valueLoc;    //$valueLoc; //lOC_CODE
    $p6 = $valueInqPart;//$valueInqPart;//Numero de parte
    $p7 = $valueLot;//$valueLot;//LOT_CODE 
    $p8 = 1;//Cantiad de salida 
    $p9 = '2198';//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');
    //}
 
      echo "</br>";
      print "Valor de salida 1=".$out1;
      echo "</br>";
 
      print "Valor de salida 2=".$out2;
       echo "</br>";
    }
 
  }
?>
<?php
 
 
$sqlTxt= "SELECT ROWNUM, parts_code AS PARTS_CODE,
       (parts_nm) AS PARTS_NM,
       (parts_descr) AS PARTS_DESCR,
       (loc_code) AS LOC_CODE,
       (lot_code) AS LOT_CODE,
       (stock_qty) AS STOCK_QTY,
    DECODE('".$valueCustomer."',
              'EXT',
              'CUM',
              'CUM',
              'EF',
              'CV',
              'EF',
              'LAM',
              'CUMT',
              'CUMT',
              'EF') AS ".$ValueOPT1.",
        DECODE('".$valueCustomer."', 'CUM', 'E.COM', 'CV', 'E.COM', 'CUMT', 'E.COM') AS ".$ValueOPT2.",
        DECODE('".$valueCustomer."', 'CUM', 'EXT', 'CV', ' ', 'CUMT', 'LAM') AS ".$ValueOPT3."
         from( select a.parts_code  as parts_code,
               b.parts_nm    as parts_nm,
               b.parts_descr as parts_descr,
               a.wh_code     as ".$valueLoc.",
               a.rack_lot    as ".$valueLot.",
               a.stok_qty    as stock_qty
          from tmidstok a, tmimmatl b
         where (a.parts_code like 'FM%' or a.parts_code like 'MV%')
           and a.wh_code like 'M-%'
           and a.wh_code <> 'M-000-Z'
           and a.wh_code NOT IN ('M-000-Z','M-000-Y','TOT-U') 
           and b.parts_code = a.parts_code
           and b.corp_code = a.corp_code
           and b.fctry_code = a.fctry_code
           and a.parts_code like '".$valueInqPart."'|| '%'
           and a.corp_code ='TPH'
           and a.fctry_code ='MG'
           and '".$valueCustomer."'='EXT'
        
            UNION ALL
        
        select a.parts_code  as parts_code,
               b.parts_nm    as parts_nm,
               b.parts_descr as parts_descr,
               a.wh_code     as ".$valueLoc.",
               a.rack_lot    as ".$valueLot.",
               a.stok_qty    as stock_qty
          from tmidstok a, tmimmatl b
         where (a.parts_code like 'MB-PTM%')
           and a.wh_code  NOT IN ('T-000-Z','T-000-Y','E-00-F','E-000-C')
           and b.parts_code = a.parts_code
           and b.corp_code = a.corp_code
           and b.fctry_code = a.fctry_code
           and a.parts_code like '".$valueInqPart."'|| '%'
           and a.corp_code ='TPH'
           and a.fctry_code ='MG'
           and '".$valueCustomer."'='LAM'
        
        UNION ALL
        
        select a.parts_code  as parts_code,
               b.parts_nm    as parts_nm,
               b.parts_descr as parts_descr,
               a.wh_code     as ".$valueLoc.",
               a.rack_lot    as ".$valueLot.",
               a.stok_qty    as stock_qty
          from tmidstok a, tmimmatl b
         where (a.parts_code like 'MB-PTM%')
           and a.wh_code IN ('T-000-Z','T-000-Y')
           and b.parts_code = a.parts_code
           and b.corp_code = a.corp_code
           and b.fctry_code = a.fctry_code
           and a.parts_code like '".$valueInqPart."'|| '%'
           and a.corp_code ='TPH'
           and a.fctry_code ='MG'
           and '".$valueCustomer."'='CUMT'
        
        UNION ALL
        
        select a.parts_code  as parts_code,
               b.parts_nm    as parts_nm,
               b.parts_descr as parts_descr,
               a.wh_code     as ".$valueLoc.",
               a.rack_lot    as ".$valueLot.",
               a.stok_qty    as stock_qty
          from tmidstok a, tmimmatl b
         where (a.parts_code like 'FM%'or a.parts_code like'MV%')
           and a.wh_code  = 'M-000-Y'
           and b.parts_code = a.parts_code
           and b.corp_code = a.corp_code
           and b.fctry_code = a.fctry_code
           and a.parts_code like '".$valueInqPart."' || '%'
           and a.corp_code ='TPH'
           and a.fctry_code ='MG'
           and '".$valueCustomer."'= 'CUM'
        
        UNION ALL
        
        select a.parts_code  as parts_code,
               b.parts_nm    as parts_nm,
               b.parts_descr as parts_descr,
                a.wh_code    as ".$valueLoc.",
               a.rack_lot    as ".$valueLot.",
               a.stok_qty    as stock_qty
          from tmidstok a, tmimmatl b
         where a.wh_code  = 'WHGL-U'
           and b.parts_code = a.parts_code
           and b.corp_code = a.corp_code
           and b.fctry_code = a.fctry_code
           and a.parts_code like '".$valueInqPart."'|| '%'
           and a.corp_code ='TPH'
           and a.fctry_code ='MG'
           and '".$valueCustomer."'= 'CV')
         order by 1, 3";
 
$stid=oci_parse($conn, $sqlTxt);
oci_execute($stid);
 
print"<table  class='table table-bordred table-striped'>";
print"<thead >";
print"<th>#</th>";
print"<th>PARTS_CODE</th>";
print"<th>PARTS_NM</th>";
print"<th>PARTS_DESC</th>";
print"<th>LOC_CODE</th>";
print"<th>LOT_CODE</th>";
print"<th>STOCK_QTY </th>";
print"<th>OPT</th>";
print"<th>QUANTITY</th>";
print"</thead>";
echo "</br>";
 
 
$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";
 
 
///Aqui es donde obtengo valores para mi checkbox.
 
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']."";
echo "</td>";
echo " <td><input type='number' name='issQty' placeholder=''   value='".$valueIssQty."' required > </td>";
echo"</tr>";
}
echo "</table>";
?>
 
 
 
?>
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