PHP - Problema con modificar varios registros a la vez

 
Vista:
sin imagen de perfil

Problema con modificar varios registros a la vez

Publicado por Joan (1 intervención) el 06/10/2016 06:00:25
Hola Buenas! tengo una consulta con mi código...
-¿Porqué solo capturo el id 3?
como verán en la imagen que les adjunto, me muestran los datos de la base de datos pero cuando quiero modificarlos y solo capturo el id 3 (solo hay 3 datos) por ende el último dato.
-¿Cómo puedo editar los demás registros?
se los agradecería muchísimo!

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
<?php
	session_start();//para indicar que estamos en una sesion
	require('conexion.php');
 
	if(!isset($_SESSION["id_usuario"])){
		header("Location: index.php");
	}//para validar si se ha hecho una sesion en caso no se manda la pagina de inicio
 
	//SE IGUALA QUE SEA LA SESION DEL USUARIO
	$idUsuario = $_SESSION['id_usuario'];
 
    //$sql = "SELECT a.descripcion,b.idstock,b.sub_stock,b.en_stock,b.exce_stock,b.total from tanque a, stock b where a.stock_idstock = b.idstock";//consulta
    $sql = "SELECT * FROM stock";
    $result = $mysqli->query($sql);// se guarda todo en el result
 
 
 
	if(!empty($_POST))//se evalua q la variable post no este vacia...para que salgan todas las funciones cuando se envien las funciones...y no salgan al instante.
	{
        $id_stock = $_POST['idstock'];
		$sub_stock = $_POST['sub_stock'];
        $en_stock = $_POST['en_stock'];
        $exce_stock = $_POST['exce_stock'];
 
 
 
        $sqlMod = "UPDATE stock SET sub_stock ='$sub_stock', en_stock ='$en_stock', exce_stock='$exce_stock' where idstock = '$id_stock'";
        $resultado=$mysqli->query($sqlMod);
 
 
    }
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Combustible</title>
    <script src="js/jquery-3.1.1.min.js"></script>
 
  <script>
 
        function validar() //aqui se ejecuta las validaciones
			{
 
				document.guardar.submit(); //se envia el formulario con nombre registro...por metodo post 
 
			}
        </script>
	</head>
 
	<body>
    <h1 align="center" > MODIFICAR</h1>
 
	    <form id="guardar" name="guardar" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST" >
 
			<table border="1">
                  <!-- <td><input type="hidden" id="idstock" name="idstock" value="'.$stock['idstock'].'"></td>  -->
 
                    <tr>
                        <td></td>
                        <td><strong>SUB STOCK<br>COMBUSTIBLE</strong></td>
                        <td><strong>ENTRADA<br>COMBUSTIBLE</strong></td>
                        <td><strong>EXCEDENTE<br>COMBUSTIBLE</strong</td>
                        <td><strong>TOTAL<br>COMBUSTIBLE</strong></td>
                    </tr>
                      <?php
                       while ($stock = $result -> fetch_array())
                            {
 
                            echo'<tr>
                                <td><input type="text" id="idstock" name="idstock" value="'.$stock['idstock'].'"></td>
                                <td><input type="text" id ="sub_stock" name="sub_stock" value="'.$stock['sub_stock'].'"></td>
                                <td><input type="text" id ="en_stock" name="en_stock" value="'.$stock['en_stock'].'"></td>
                                <td><input type="text" id ="exce_stock" name="exce_stock" value="'.$stock['exce_stock'].'"></td>
                                <td>'.$stock['total'].'</td>
                                </tr>';
 
                       }
                    ?>
				</table>
           <input name="guardar" type="button" value="Guardar" onClick="validar();">
        </form>
				<input name="cancelar" type="submit" onclick = "location='inicio.php'" value="Cancelar">
 
				<a href="logout.php">Cerrar Sesi&oacute;n</a> <!-- Aqui se cierra sesion -->
 
	</body>
</html>
Captura-de-pantalla-2016-10-05-a-las-22.56.28
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

Problema con modificar varios registros a la vez

Publicado por xve (6935 intervenciones) el 06/10/2016 12:30:37
Hola Joan, el problema creo que es porque todos los inputs tienen el mismo nombre, por lo que solo se envía el ultimo... si haces ver código fuente en el navegador, veras que se repiten los nombres de los inputs.

Puedes hacer dos cosas, utilizar un array de valores, o poner un nombre diferente a cada linea.
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