
Insertar multiples campos
Publicado por Victor (195 intervenciones) el 28/10/2014 20:59:04
Buenas gente tengo un problema.
Yo creo una tabla de forma dinamica cuyos input tiene como nombre "crotal<?php $i?>"
Una vez creados cuando entro en el fichero que los guarda parece ser que no los recupero bien pues mediante la consola del navegador he visto que no tienen valor cuando se hace el submit.
Codigo de la tabla:
Codigo del metodo donde guardo:
Tengo dos problemas.
1 Este echo "idBoxParqueValeeeeee==".$result['boxes']['idBoxParque']; no tiene valor y debe tenerlo ya que es autonumerico
2.Soy consciente de que hacerlo así tiene que estar mal $crotal = strip_tags(trim($_POST["crotal$i"]));
Ya que me imagino que debo montar un array con todos los inputs pero no lo he hecho nunca y no sé como va.
Quedo a la espera de vuestras respuestas,saludos.
Yo creo una tabla de forma dinamica cuyos input tiene como nombre "crotal<?php $i?>"
Una vez creados cuando entro en el fichero que los guarda parece ser que no los recupero bien pues mediante la consola del navegador he visto que no tienen valor cuando se hace el submit.
Codigo de la tabla:
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
<table id="controlesParaVaciarParque">
<tr name="tbAnimalesExistentes">
<td>
<table class="tbExistenAnimalesDentro">
<tr>
<?php
if($cuadras!=0)
{
?>
<label>-Box Habilitados:<?php echo $numFilas=$cuadras['cantidad']?></label>
<?php
}
?>
</tr>
<tr>
<?php
if($cuadras!=0)
{
//echo "cuadras es igual a 0";
$nueva=0;
for($i=1;$i<$cuadras['cantidad'];$i++)
{
?>
<td>
<label>
Crotal
</label>
</td>
<td>
<input type="text" name="crotal <?php echo $i;?>" value="<?php if(($cuadras['boxes'][$i]['crotal']==null)||($cuadras['boxes'][$i]['crotal']=="")){echo "";}
else{echo $cuadras['boxes'][$i]['crotal'];}?>">
</td>
<td>
<?php
//echo "Nueva dentro del else vale".$nueva;
$Disabled= "";
if(isset($cuadras['boxes'][$i]['crotal']) &&
($cuadras['boxes'][$i]['crotal']!=0) &&
(trim($cuadras['boxes'][$i]['crotal'])!=""))
{
$Disabled= "Enabled";
}else
{
$Disabled="Disabled";
}
?>
<button name="btIr&i" value="Ir" title="Ir a la ficha"
<?php echo ($Disabled) ?>
onclick="javascript:irAFicha(<?php if(isset($cuadras['boxes'][$i]['crotal'])){echo $cuadras['boxes'][0]['crotal'];}?>)"
style="width: 20px;height: 20px;">
Ir
</button>
</td>
<td>
<button name="btDlt&i" title="Eliminar Animal"
<?php echo ($Disabled) ?>
onclick="javascript:eliminarAnimal(<?php if(isset($cuadras['boxes'][$i]['crotal'])){echo $cuadras['boxes'][0]['crotal'];}?>)"
style="width: 30px;height: 20px;margin-right: 10px;">
<img src="images/icono_eliminar.png" ">
</button>
<input name="numeroFilas" hidden="hidden" value="<?php echo $cuadras['cantidad'];?>">
</td>
<?php
if(($i % 2)==0)
{
echo "</tr>";
echo "<tr>";
}
}
}
?>
</tr>
</table>
Codigo del metodo donde guardo:
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
if (($accion=="guardar")){
//recuperamos campos del formulario
$box_id = $id;
$numeroFilas=$_POST['numeroFilas'];
$conexion=conectarBD();
$boxes=getBoxAnimalesParque();
/*
*getBoxAnimalesParque(); hace esto
*function getBoxAnimalesParque()
*{
* return array
* (
* 'boxes'=> array(
* 'idBoxParque'=>'',
* 'codBoxParque'=>'',
* 'crotal'=>''
* )
* );
*}
*/
$query="SELECT * FROM `animalesparque` WHERE `codBoxParque` ='".$box_id."'";
$consulta = $conexion->query($query);
$query="";
if(!$consulta)
{
echo "Dentro de !consulta";
echo "No a encontrado datos.";
return 0;
}else
{
echo "Datos hay cantidad=".$cantidad;
while($fila = $consulta->fetch_array())
{
array_push($boxes,$fila);
}
$cantidad = $consulta->num_rows;
$result = array("cantidad"=>$cantidad,"boxes"=>$boxes);
echo "Cantidad vale==".$cantidad;
for($i=1;$i<$cantidad;$i++)
{
$crotal = strip_tags(trim($_POST["crotal$i"]));
echo "idBoxParqueValeeeeee==".$result['boxes']['idBoxParque'];
echo"Dentro del for update CROTAL vale".$crotal;
$query="UPDATE animalesparque SET
crotal ='".$crotal."',
codBoxParque='".$box_id."'
where idBoxParque='".$result['boxes']['idBoxParque']."';";
$consulta = $conexion->query($query);
if(!$consulta)
{
echo "No a encontrado datos DESPUES DEL FOR.";
}else
{
}
}
}
$_POST['valor']=$box_id;
$conexion->close();
}
Tengo dos problemas.
1 Este echo "idBoxParqueValeeeeee==".$result['boxes']['idBoxParque']; no tiene valor y debe tenerlo ya que es autonumerico
2.Soy consciente de que hacerlo así tiene que estar mal $crotal = strip_tags(trim($_POST["crotal$i"]));
Ya que me imagino que debo montar un array con todos los inputs pero no lo he hecho nunca y no sé como va.
Quedo a la espera de vuestras respuestas,saludos.
Valora esta pregunta


0