TransWikia.com

como crear boton para eliminar datos de una bd en sql

Stack Overflow en español Asked on November 27, 2021

intento colocar un boton para poder borrar los datos de una fila en mi base de datos, pero no logro hacer que el boton tenga funcionalidad, ni que este dentro de la lista que es la cual contiene los estilos css. como pueden ver, tomo los datos de mi base de datos primero para mostrarlos en la tabla, luego como pudiera crear ese boton de "borrar" dentro de la misma tabla y añadirle funcionalidad?

nota: el "echo "borrar" solo lo tengo para asegurarme que el boton este funcionando, ya luego le dare la sentencia sql para que en realidad borre los datos

    <?php 

        $servidor="localhost";
        $usuario="root";
        $password="17122001";
        $db="sistema";

        $conexion= new mysqli($servidor,$usuario,$password,$db);

        if ($conexion->connect_error) {
            die("conexion fallida" . $conexion->connect_error);
        }

        $sql="SELECT * FROM rock";
        $resultado=$conexion->query($sql);
    
    ?>
        <table>
        <caption>Rock Sinfonico</caption>

        <div class="busqueda">
        <form action="" method="">          
            <input  type="search" size="10" placeholder="Buscar...">                
            <button>Buscar</button>
        </form>
        </div>

        <table>
        <thead>
            <tr>
                <th>Nombre</th>
                <th>Apellido</th>
                <th>Cedula</th>
                <th>Direccion</th>
                <th>Telefono</th>
            </tr>
        </thead>
        
        <tbody>
            <?php
                $mRows="";
                    while ($row=$resultado->fetch_assoc()) {
                            $mRows.="<tr>
                                        <td>$row[nombre]</td>
                                        <td>$row[apellido]</td>
                                        <td>$row[cedula]</td>
                                        <td>$row[direccion]</td>
                                        <td>$row[telefono]</td>";
            ?>
                                    <td><a href="rock.php" method="GET" name="borrar">Borrar</a></td>
                                    </tr>
            <?php
                $borrar=$_GET["borrar"];
                echo $borrar;
                    }
                    echo $mRows;
            ?>
        </tbody>
    </table>

<?php

    $conexion->close();
?>

One Answer

Puedes por ejemplo generar un link de borrado usando algun id del registro (generalmente numerico). En este ejemplo, suponiendo que el campo se llame id (requiere un id unico para que borre exactamente un registro y no otro)

$mRows.="<tr>
    <td>$row[nombre]</td>
    <td>$row[apellido]</td>
    <td>$row[cedula]</td>
    <td>$row[direccion]</td>
    <td>$row[telefono]</td>
    <td><a href="rock.php?borrar=$row[id]" method="GET" >Borrar</a></td>
    </tr>";

Y luego en el procesamiento realizar la operacion (antes de obtener los registros)

<?php 
...

if (isset($_GET["borrar"])){
    $sql="DELETE FROM rock WHERE id='$_GET[borrar]'"; 
    $conexion->query($sql);
}

$sql="SELECT * FROM rock";
$resultado=$conexion->query($sql);

?>

Answered by F.Igor on November 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP