PHP - Ayuda para eliminar una fila de una tabla con php

 
Vista:

Ayuda para eliminar una fila de una tabla con php

Publicado por Tomas (1 intervención) el 13/11/2019 05:51:50
Hola! Estoy empezando con php, html y mySQL, y resulta que me pidieron que realice una web que permita buscar, agregar y eliminar productos.
Todo iba bien hasta que llegué a la parte en la que tengo que eliminar una fila de la base de datos, agregué un pequeño boton en cada fila para que al pulsarlo se eliminara dicha fila, el problema que tengo es que al pulsar en el botón me devuelve el siguiente error:

Notice: Undefined index: id in C:\xampp\htdocs\BD Practico\interfaz\BD_eliminar_productos.php on line 4
Producto eliminado con éxito

Por un lado me dice que id no está definido, que según yo lo está, y por otro me dice que el producto fue eliminado pero al revisarlo el producto sigue ahí.

Inserto el código:

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
<table border="0" class="row table table-hover table-1 col-lg-12 margin-top-bottom" align="center">
    <thead>
        <tr>
            <th>Número</th>
            <th>Producto</th>
            <th>Tipo</th>
            <th>Precio</th>
            <th></th>
        </tr>
    </thead>
    <?php
    $sql="SELECT producto_id, producto_desc, tipo_producto_desc, producto_precio
         FROM producto p, tipo_producto tp
         WHERE p.tipo_producto_id = tp.tipo_producto_id
         ORDER BY producto_id ASC";
    $result=mysqli_query($conexion,$sql);
 
    while($mostrar=mysqli_fetch_array($result)){
        ?>
        <tbody>
            <tr>
            <th><?php echo $mostrar['producto_id'] ?></th>
            <td><?php echo $mostrar['producto_desc'] ?></td>
            <td><?php echo $mostrar['tipo_producto_desc'] ?></td>
            <td><?php echo $mostrar['producto_precio'] ?></td>
            <td width="50">
                <a href="BD_eliminar_productos.php">
                    <button type="submit" name="id" value="<?php echo $mostrar['producto_id']; ?>"><span class="glyphicon glyphicon-trash"></span></button>
                </a>
            </td>
            </tr>
        </tbody>
        <?php
    }
    ?>
</table>


BD_eliminar_productos.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include 'connect.php';
 
    $id = $_POST["id"];
 
    $eliminar = "DELETE FROM producto
                WHERE producto_id = '$id'";
 
    $resultado = mysqli_query($conexion, $eliminar) or die("Error: ".mysql_error);
 
    if(!$resultado){
        echo 'Error al eliminar el producto';
    } else{
        echo 'Producto eliminado con éxito';
    }
 
mysqli_close($conexion);

He probado reemplazar en el ultimo código el id por un número y en ese caso si me ha eliminado el producto, pero estoy hace horas y sigo sin lograr poder eliminar el producto a través del boton.

Muchas gracias y espero puedan ayudarme.
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

Ayuda para eliminar una fila de una tabla con php

Publicado por Juan (1 intervención) el 13/11/2019 07:52:10
Prueba a enviar por GET el id del registro al file que se encarga de realizar la query de eliminacion, guardalo en una variable y ejecueta la query
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda para eliminar una fila de una tabla con php

Publicado por Kathyu (905 intervenciones) el 13/11/2019 15:17:49
No veo donde este su "id" declarado y enviado en el form, ese es el problema.

Métalo en un form con un hidden y listo
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