PHP - Concatenar un numero al nombre del control en html

   
Vista:
Imágen de perfil de Roberto

Concatenar un numero al nombre del control en html

Publicado por Roberto (18 intervenciones) el 14/06/2017 18:39:40
Hola amigos, les comento tengo un formulario el cual muestra las ordenes extras de un menú entonces la consulta de la base de datos es un select :

SELECT * FROM adicionales;
1 Refresco
2 Cerveza
3 Orden de aguacate
4 Flan napoilitano
5 Orden de chicharron

Posteriormente esta información se muestra en una pagina la cual lo hado de esta manera:

<?php
$resadicionales = mysql_query("SELECT * FROM adicionales");

while ($valoresadic = mysql_fetch_array($resadicionales)) {
echo "<ul>";
echo '<li><input class=form type="checkbox" name="chkAdicionales"
value="'.$valoresadic[cveAdicional].'">'." ".
'<strong style=color:#FF9900>'.$valoresadic[descripcion].'</strong>'.' '.
'<input type="text" name="txtAdicional" style="width:30px" />'.'</li>';
//echo '<li><option value="'.$valoresadic[cveAdicional].'">'." ".$valoresadic[descripcion]." ".'</option></li>';
echo "</ul>";
}
?>

Lo cual el resultado es el siguiente muestro imagen:
adicionales

Lo que quiero hacer, si se dan cuenta los controles de html como el checkbox y el text los muestro en una lista, pero el problema es que los controles tienen el mismo nombre como name="chkAdicionales" y "txtAdicional"

Y al momento de mandar guardar el registro a la base de datos me genera error al seleccionar mas de un checkbox de igual manera al insertar los text se que es por que todos se llaman igual

Como puedo hacer que cuando se desplieguen los controles concatenarles un numero al nombre del control para que cuando lo guarde en la base de datos no me genere error
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 Mauro

Concatenar un numero al nombre del control en html

Publicado por Mauro (104 intervenciones) el 18/06/2017 01:07:33
Prueba poniéndoles como nombre "chkAdicionales[]" y "txtAdicional[]", de esa forma al recibirlos en el php los tendrás dentro de arreglos
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 Roberto

Concatenar un numero al nombre del control en html

Publicado por Roberto (18 intervenciones) el 19/06/2017 17:06:14
Una vez que ya les haya puesto el nombre con arreglos mi duda es como puedo saber el contenido que guarda ejemplo si es el primero, segundo o tercero, estp para guardar el contenido en la base de datos...

Ejemplo:

1
2
3
4
5
6
echo "<ul>";
echo '<li><input class=form type="checkbox" name="chkAdicionales[]"
	value="'.$valoresadic[cveAdicional].'">'." ".
	'<strong style=color:#FF9900>'.$valoresadic[descripcion].'</strong>'.' '.
	'<input type="text" name="txtAdicional[]" style="width:30px" />'.'</li>';
echo "</ul>";

Cuando mando a guardar a la base de datos no me guardar ningún valor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
session_start();
include ('genericos/conecta.php');
 
$ordenmenu = $_POST['cvOrden'];
$cvemenu = $_POST['txtCveMenu'];
$mesa = $_POST['listmesas'];
$comenta = $_POST['txtComenta'];
$folio = $_POST['txtFolio'];
$adicional = $_POST['chkAdicionales[0]'];
$cantidadac1 = $_POST['txtAdicional[0]'];
mysql_query("INSERT INTO comandas
      (cveMenu, folio, cveMesa, comentarios, fecha, hora, adic1, cantadic1) 
   VALUES 
	   ('$cvemenu', '$folio', $mesa, '$comenta', '".date(" Y-m-d ")."',
	    '".date(" h:i:s ", (strtotime ("+7 Hours")))."', '$adicional', '$cantidadac1')")
	   or die ("Error al insertar el regsitro");
?>
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 Mauro

Concatenar un numero al nombre del control en html

Publicado por Mauro (104 intervenciones) el 19/06/2017 20:34:56
La forma de accederlo desde php es:

1
2
$adicional = $_POST['chkAdicionales'][0];
$cantidadac1 = $_POST['txtAdicional'][0];

A partir de esa definición en html, para PHP $_POST['chkAdicionales'] y $_POST['txtAdicional'] son arreglos
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
Revisar política de publicidad