PHP - Duda con múltiples input y submit cargados con php

 
Vista:
sin imagen de perfil

Duda con múltiples input y submit cargados con php

Publicado por djzzz (2 intervenciones) el 24/05/2016 00:03:08
Buenas noches!

Tengo la siguiente duda:

necesito cargar una tabla, en la cual cargo múltiples input tipo texto de un sólo carácter, y, además de otros valores, múltiples botones tipo submit, que realizan todos la misma acción (dirigen a la página que marca el formulario).
La cuestión es, que tanto los input como los submit tienen todos el mismo nombre, porque necesito coger vía $_POST el nombre de este unico campo de texto, motivo por el que les llamo igual.
Cómo puedo coger el valor de este campo, con los botones que siempre realicen la misma acción?
No se si me explico bien, os adjunto el código, por si así lo entendéis mejor:

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
$busca="";
$busca=$_POST['busca'];
$sql='select genero, especie, vulgar, clase from sms_setas';
$cabecera=array('Marca','Género','Especie','Vulgar','Clase','Añadir');
$con=@mysqli_connect();
 
if (! $con){
echo "Error en la conexión";
}
 
mysqli_set_charset($con,"utf8");
$sentencia=mysqli_query($con,$sql) or die("Error en la muestra de datos. Por favor, póngase en contacto con el administrador de la Web");
 
if ($busca == "") {
        echo '<form action="http://sociedadmicologicasegoviana.com/resultado-marca/" id="generamarca">';
	echo "<table class='table table-bordered table-striped center-table' style='text_align: center; color: black;' cellspacing='0' align='center'><tr>";
 
	foreach($cabecera as $tit)
	{
	echo "<th align='center'>$tit</th>";
	}
	echo "</tr>";
 
	// nucleo tabla
	while($vec=mysqli_fetch_row($sentencia))
	{
		echo "<tr>";
			echo "<td><input type='text' size='1' name='marca' id='marca' maxlength='1' style='textálign:center;' /></td>";
		foreach($vec as $valor)
		{
		echo "<td align='center'>$valor</td>";
		}
                echo "<td><button type='submit' name='enviar' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-plus-sign'></span></button></td>";
		echo "</tr>";
	}
 
	echo "</table>";
        echo "</form>";
        mysqli_close($con);
 
}
 
if ($busca != "") {
 
     $busqueda = "select genero, especie, vulgar, clase from sms_setas where especie like '%".$busca."%'";
     $con1=@mysqli_connect();
 
     if (! $con1){
         echo "Error en la conexión";
     }
 
     mysqli_set_charset($con1,"utf8");
     $filtro=mysqli_query($con1,$busqueda) or die("Error en la muestra de datos. Por favor, póngase en contacto con el administrador de la Web");
 
      echo '<form action="http://sociedadmicologicasegoviana.com/resultado-marca/" id="generamarca">';
      echo "<table class='table table-bordered table-striped center-table' style='text_align: center; color:   black;' cellspacing='0' align='center'><tr>";
 
      foreach($cabecera as $tit)
      {
         echo "<th align='center'>$tit</th>";
      }
      echo "</tr>";
 
      while($vec=mysqli_fetch_row($filtro))
      {
	echo "<tr>";
        echo "<td><input type='text' size='1' name='marca' id='marca' maxlength='1' style='textálign:center;' /></td>";
	foreach($vec as $valor)
	{
	   echo "<td align='center'>$valor</td>";
	}
        echo "<td><button type='submit' name='enviar' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-plus-sign'></span></button></td>";
	echo "</tr>";
        }
 
      echo "</table>";
      echo "</form>";
      mysqli_close($con1);
}
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
sin imagen de perfil

Duda con múltiples input y submit cargados con php

Publicado por Felipe (8 intervenciones) el 24/05/2016 02:16:56
Si es que entiendo tienes campos con el mismo nombre, si es así te hice un ejemplo, en el cual pueds llamar a los campos del mismo nombre pero hacerlo como array asociativo, es decir, si lo dejas así: nombreinput[] automáticamente se añadiría un índice, pero por ejemplo puedes ocupar el primary key para identificar que vas a editar.

te dejo el ejemplo:
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
<?php
$productos = array(
		array(
			'nombre' => 'Perfume',
			'id' => 3,
			'precio' => 10000
		),
		array(
			'nombre' => 'Lavadora',
			'id' => 5,
			'precio' => 50000
		),
		array(
			'nombre' => 'coca cola',
			'id' => 13,
			'precio' => 20000
		),
		array(
			'nombre' => 'Notebook',
			'id' => 15,
			'precio' => 1500
		)
	);
 
if(isset($_POST['envio']))
{
	echo "<ul>";
	foreach($_POST['precio'] as $id_producto=>$precio)
	{
		echo "<li>$id_producto va tener un precio de $precio</li>";
	}
	echo "</ul>";
 
}
?>
 
<form method="POST">
	<?php
	foreach ($productos as $producto)
	{
		?>
		<p>
			<h2>
				<?php echo $producto['nombre']; ?>
			</h2>
			<input type="text" name="precio[<?php echo $producto['id']; ?>]" value="<?php echo $producto['precio']; ?>" />
		</p>
		<hr>
	<?php
	}
	?>
 
 
	<hr>
	<p>
		<input type="submit" value="Enviar" name="envio" />
	</p>
</p>
</form>

Cualquier duda comentas
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
sin imagen de perfil

Duda con múltiples input y submit cargados con php

Publicado por djzzz (2 intervenciones) el 24/05/2016 09:25:57
Lo que yo quiero es sacar únicamente el valor del campo de texto para después actualizar ese valor el la base de datos. Entonces, lo que quiero controlar es el poder acceder siempre acceder al valor de ese campo, sea el input nº 1 o el nº 1000, porque la consulta que hago genera más de 1000 resultados, y, por lo tanto, al pulsar sobre sumbit, saber automáticamente saber el nombre del campo de ese row de la consulta que fue generada. Es por eso que les pongo el mismo nombre.
Es que no sé cómo controlar el nombre si le pones un id, ya sea por array asociativo, contador, etc.

No sé si me explico..
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
sin imagen de perfil

Duda con múltiples input y submit cargados con php

Publicado por Felipe (8 intervenciones) el 25/05/2016 00:35:45
Sinceramente no entendí bien, podrías hacerlo con imágenes de esa forma podría entender. O si otra persona entendió y te ayude estaría bien.
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