PHP - NO GUARDA TODO EL ARRAYS EN LA BASE DE DATOS

   
Vista:
Imágen de perfil de ORLANDO

NO GUARDA TODO EL ARRAYS EN LA BASE DE DATOS

Publicado por ORLANDO orlandorodriguez40@hotmail.com (55 intervenciones) el 15/07/2016 16:05:06
Muy buenos dias gente del foro. Muchas gracias de antemano.

Resulta que tengo el siguiente HTML:

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
<!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" name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>Formulario de pedidos</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="guardapedidos.php">
  <p><strong>Formulario de Pedido:</strong></p>
  <p>Introduce en la lista las cantidades de los productos que solicitas y selecciona la unidad del menú desplegable,<br />
    puedes colocar un comentario si lo consideras necesario.</p>
  <p>Si necesitas algo adicional que no aparezca en la lista puedes escribirlo en la parte inferior.</p>
  <p>&nbsp;</p>
  <p>Nombre</p>
  <p>
    <label for="Nombre"></label>
    <input name="nombre" type="text" id="nombre" required size="80" />
  </p>
  <p>Empresa</p>
  <p>
    <label for="Empresa"></label>
    <input name="empresa" type="text" id="empresa" required size="80" />
  </p>
  <p>Email (requerido)</p>
  <p>
    <label for="Email (requerido)"></label>
    <input name="email" type="email" id="email" required size="80" />
  </p>
  <table width="86%" border="0" align="left">
    <tr>
      <td width="21%">PRODUCTO</td>
      <td width="13%">CANTIDAD</td>
      <td width="13%">MEDIDA</td>
      <td width="53%">OBSERVACIONES</td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad3.disabled = !this.checked" name="chk[]" value="Aguacate" />
      Aguacate</td>
      <td><input name="cantidad[]" id="cantidad3" type="text" disabled required size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad3">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs3"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad1.disabled = !this.checked" name="chk[]" value="Acelga" />
      Acelga</td>
      <td><input name="cantidad[]" id="cantidad1" type="text" disabled required size="5" maxlength="4"/></td>
      <td><select name="unidad[]">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad2.disabled = !this.checked" name="chk[]" value="Agraz" />
      Agraz</td>
      <td><input name="cantidad[]" type="text" required disabled id="cantidad2" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad2">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs2"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad4.disabled = !this.checked" name="chk[]" value="Ahuyama" />
      Ahuyama</td>
      <td><input name="cantidad[]" type="text" required disabled id="cantidad4" size="5" maxlength="4"/></td>
      <td><select name="unidad[]" id="unidad4">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs4"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad5.disabled = !this.checked" name="chk[]" value="Aji" />
      Aji</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad5" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad5">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs5" ></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad6.disabled = !this.checked" name="chk[]" value="Ajo" />
      Ajo</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad6" size="5" maxlength="Ajo" /></td>
      <td><select name="unidad[]" id="unidad6">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs6"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad7.disabled = !this.checked" name="chk[]" value="Albahaca" />
       Albahaca</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad7" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad7">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs7"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad8.disabled = !this.checked" name="chk[]" value="Apio" />
      Apio</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad8" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad8">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs8"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad9.disabled = !this.checked" name="chk[]" value="Arracacha" />
      Arracacha</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad9" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad9">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grs">grs</option>
        <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs9"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad10.disabled = !this.checked" name="chk[]" value="Arveja" />
      Arveja</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad10" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad10">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grm">grm</option>
         <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs10"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad11.disabled = !this.checked" name="chk[]" value="Mango" />
      Mango</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad11" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad11">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grm">grm</option>
         <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs11"></textarea></td>
    </tr>
    <tr>
      <td><input type="checkbox" onclick="cantidad12.disabled = !this.checked" name="chk[]" value="Zuquini Verde" />
      Zuquini Verde</td>
      <td><input name="cantidad[]" type="text" disabled required id="cantidad12" size="5" maxlength="4" /></td>
      <td><select name="unidad[]" id="unidad12">
        <option value=""></option>
        <option value="kg">kg</option>
        <option value="lb">lb</option>
        <option value="grm">grm</option>
         <option value="unid">unid</option>
      </select></td>
      <td><textarea name="obs[]" cols="50" id="obs12"></textarea></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <table width="71%" border="0" align="left">
    <tr>
      <td><p>Adiciones y sugerencias:</p></td>
    </tr>
    <tr>
      <td><label for="adicionesysugerencias"></label>
      <textarea name="adicionesysugerencias" id="adicionesysugerencias" cols="80" rows="4"></textarea></td>
    </tr>
    <tr>
      <td width="44%"><input type="submit" name="Enviar" id="Enviar" value="Enviar" />
      <input type="reset" name="limpiar" id="limpiar" value="Blanquear campos" /></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</form>
</body>
</html>
 
***************************************** AHORA ESTE ES EL PHP *******************************************
 
<?php
 
include("conexion.php");
	$fecha_actual = date("d-m-Y");
	$nombre = $_POST['nombre'];
	$empresa = $_POST['empresa'];
	$email = $_POST['email'];
	$comentario = $_POST['adicionesysugerencias'];
 
	$producto = $_POST['chk'];
	$cantidad = $_POST['cantidad'];
	$unidad = $_POST['unidad'];
	$observacion = $_POST['obs'];
 
 
	for($i = 0; $i<sizeof($producto); $i++)
	{
		$query="INSERT INTO pedidos(fecha_actual, nombre, empresa, email, producto, cantidad, unidad, observacion, adicionesysugerencias)
		VALUE ('$fecha_actual','$nombre','$empresa','$email','".$producto[$i]."','".$cantidad[$i]."','".$unidad[$i]."','".$observacion[$i]."','$comentario')";
 
		$resultado=$conexion->query($query);
 
	}
 
 
	if ($resultado) {
		header("Location: pedidos.php");
	}
	else{
		echo "Insercion no exitosa";
	}
?>


********************************* RESULTADO ****************************************

Me guarda todos lo datos en mi base de datos a excepcion de la unidad y observación guarda unos datos si y otros no.

1
2
$unidad = $_POST['unidad'];
$observacion = $_POST['obs'];

Tengo ya dos días y no lo he podido resolver, no hallo que hacer porfa si alguien me echa una mano se lo agradeceria ya estoy de cabeza. jeje
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 kip

NO GUARDA TODO EL ARRAYS EN LA BASE DE DATOS

Publicado por kip (567 intervenciones) el 16/07/2016 00:44:08
Hola, podrias colocar aqui el resultado por pantalla de un var_dump() a las variables que intentas ingresar?

O coloca aqui si puedes tambien el resultado de este codigo:
1
2
3
4
for($i = 0,$s=count($producto); $i<$s; $i++)
{
echo $producto[$i].'->'.$cantidad[$i].'->'.$unidad[$i].'->'.$observacion[$i].'<br>';
}

Esperamos tu 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 Orlando

NO GUARDA TODO EL ARRAYS EN LA BASE DE DATOS

Publicado por Orlando orlandorodriguez40@hotmail.com (55 intervenciones) el 16/07/2016 01:31:33
Muchas gracias por la ayuda.

El problema lo tenía en el formulario agregue en cada bloque este codigo en js y me funciono al pelo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!--************************ SELECCION 1 ******************************-->
<tr>
	<td><input type="checkbox" name="chk[]"
	onclick="document.form1.idSelect.disabled = false;
	document.form1.idInputTexto.disabled = true; 
	document.form1.idobserva.disabled = true;
	idSelect.disabled = !this.checked; 
	idInputTexto.disabled = false;
	idobserva.disabled = false;
	idInputTexto.disabled =!this.checked;
	idobserva.disabled =!this.checked" value="Acelga" />
	Acelga</td>
 
	<td><input name="cantidad[]" id="idInputTexto" type="text" disabled required size="5" maxlength="4"/></td>
 
	<td><select name="unidad[]" id="idSelect" disabled required>
	<option value=""></option>
	<option value="kg">kg</option>
	<option value="lb">lb</option>
	<option value="grs">grs</option>
	<option value="unid">unid</option>
	</select></td>
	<td><textarea name="obs[]" cols="50" id="idobserva" disabled></textarea></td>
</tr>

Me enviaba valores en cero, ahora me envía solo valores verdaderos.

Gracias.
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 kip

NO GUARDA TODO EL ARRAYS EN LA BASE DE DATOS

Publicado por kip (567 intervenciones) el 16/07/2016 01:37:54
Podrias mejorar aquello reduciendo lineas de codigo, con el uso del algun filtro desde el script donde guardas los datos, por eso te pedi un var_dump de los datos, pero me alegra que lo hayas solucionado.

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