Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Eliminare dati in un database

    Cari amici, è un bel po che non scrivo , purtroppo ora ho un problema con php .


    La situazione è questa:

    Io volgio estrarre da un dabatase che si chiama utenti, tutto!! (nome, id):


    $query="Select * FROM utenti";

    $falla_partire=mysql_query($query, $connessione);



    //me li faccio stampare a schermo (e devo usare un array e un ciclo):


    while($row=mysql_fetch_array($falla_partire)) { //Finche ci sono righe va avanti






    $nome=$row['nome]; //Nome
    $id=$row['id']; //Id


    //li stampo


    echo"$nome, $id";



    //e creo un checkbox per scegliere quali cancellare



    echo "



    <form method=post action=\"?elimina\">

    <input type=\"checkbox\" name=\"$id\">"; //Creo un checkbox con il nome dell'id


    } //Fine del ciclo while

    echo"

    <input type=\"submit\" name=\"spedisci\">"; //Crep un bottone, che punterà al GET nella stessa pagina.


    E ora come faccio nel mio GET a dirgli che devo cancellare i dati in cui il checkbox è selezionato ??????



    Thanks

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Potresti provare modificando leggermente la struttura del codice, mettendo all'inizio della pagina un controllo per verificare se è stato inviato o meno il modulo. Quindi avrai una cosa tipo

    Codice PHP:
    if(isset($_POST['invia'])) {

    $eliminaID implode(','$_POST['id']);
    $sql mysql_query("DELETE FROM tabella WHERE id IN('$eliminaID')") or die(mysql_error());

    } else {

    //altre istruzioni


    Dove per "altre istruzioni" andrai a fare la query, così come avevi gia fatto, per stampare tutti i record dalla tua tabella e poi stamperai il form modificando gli attributi del checkbox così

    codice:
    <input type="checkbox" name="id[]" value="$id">
    ovvio che $id lo recupererai con $row['id'].

    $_POST['invia'], nel controllo iniziale si riferisce all'atributo "name" del "submit" del form.

    codice:
    <input type="submit" name="invia">
    Usa il method post al posto del get.

    Dopo aver eseguito la query per eliminare i record selezionati con i checkbox, puoi utilizzare mysql_affetced_rows per verificare quanti records sono stati cancellati.

  3. #3
    Ho fatto tutto uguale ma non cancella nulla

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    posta il codice modificato.

  5. #5
    fa un po come se non avessi selezionato nessun ceckbox,,, non da errori ma non cancella nulla.. ora provo a stampare un id nel POST

  6. #6
    <?php

    include "connessione.php"; //includo la connessione

    if(isset($_POST['elimina'])) { //Controllo se c'è l'elimina

    $eliminaid = implode(',', $_POST['id']);
    $sql = mysql_query("DELETE FROM immagini WHERE id IN('$eliminaID')") or die(mysql_error());








    }





    else

    {

    $prendiimmagine="Select * FROM immagini"; //Prende le immagini

    $result=mysql_query($prendiimmagine, $connessione); //Faccio partire la presa delle immagini
    $result2=mysql_query($prendiimmagine, $connessione); //Faccio partire la presa delle immagini



    $contatore=10; //Il contatore vale 9





    echo"





    <html>
    <head>
    <title>Cancella</title>
    <link rel=\"stylesheet\" type=\"text/css\" href=\"stile.css\">

    </head>
    <body link=\"#ffffff\" alink=\"#ffffff\" vlink=\"#ffffff\">

    <center>

    <div id=\"titolo\"><font face=\"verdana\">Eliminare Foto</font></div>
    <div id=\"cella\">

    <table width=\"900\" height=\"200\" border=\"0\" cellpadding=\"0%\" cellspacing=\"0%\" bordercolor=\"#FFFFFF\">
    <tr>
    <td width=\"900\">

    <table border=\"0\" cellpadding=\"0%\" cellspacing=\"5%\">

    <tr>
    ";




    while($row=mysql_fetch_array($result)) { //Finche ci sono righe va avanti


    $contatore--;

    if (($contatore == 0)) {echo" </td></tr><tr>"; }


    $source=$row['percorso']; //Percorso
    $id=$row['id']; //id











    echo "

    <td>
    <a href=\"?elimina\"target=\"_blank\"><img src=\"public/$source\" height=\"60\" width=\"80\"></a>
    <form method=post action=\"?elimina\">

    <input type=\"checkbox\" name=\"id[]\" value=\"$id\">"; //Creo un checkbox
    echo"

    </td>

    ";

    }


    echo"




    <input type=\"submit\" name=\"invia\" value\"Cancella\">
    </form>



    </tr>


    </table>

    </td>

    <tr>
    <td>

    <center><font size=\"-3\" face=\"Verdana, Arial, Helvetica, sans-serif\"> Sviluppato da Lupo 2006</font></center>

    </td>
    </tr>
    </table>

    </div>


    <a href=\"Index.php\">Indice</a>&nbsp&nbsp<a href=\"Modifica.php\">Modifica</a>

















    </center>

    </body>
    </html>


    ";



    }


    ?>




    Scusate per il casino, ho bordato le cose importanti

    In realtà non vado a prendere un nome ma un percorso (era per semplicità), però non cambia niente, a me interessa l'id

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Gli ho dato un piccola "ripulita". Ricontrolla tutto, macheranno qualche TD o TR forse...

    Codice PHP:
    <?php
    include "connessione.php"//includo la connessione

    if(isset($_POST['elimina'])) { //Controllo se c'è l'elimina

    $eliminaid implode(','$_POST['id']);
    $sql mysql_query("DELETE FROM immagini WHERE id IN('$eliminaid')") or die(mysql_error());
    printf ("Records eliminati: %d\n"mysql_affected_rows());
    } else {

    $prendiimmagine "SELECT * FROM immagini"//Prende le immagini

    $result mysql_query($prendiimmagine) or die(mysql_error()); //Faccio partire la presa delle immagini

    $contatore 10//Il contatore vale 9
    ?>
    <html>
    <head>
    <title>Cancella</title>
    <link rel="stylesheet" type="text/css" href="stile.css">

    </head>
    <body link="#ffffff" alink="#ffffff" vlink="#ffffff">

    <center>

    <div id="titolo"><font face="verdana">Eliminare Foto</font></div>
    <div id="cella">

    <table width="900" height="200" border="0" cellpadding="0%" cellspacing="0%" bordercolor="#FFFFFF">
    <tr>
    <td width="900">

    <table border="0" cellpadding="0%" cellspacing="5%">
    <tr>
    <td>
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <?php

    while($row mysql_fetch_array($result)) { //Finche ci sono righe va avanti

    $contatore--;

    if((
    $contatore == 0)) { echo " </td></tr><tr>"; }

    $source $row['percorso']; //Percorso
    $id $row['id']; //id

    echo "<tr><td><input type=\"checkbox\" name=\"id[]\" value=\"$id\"></td></tr>";
    }

    echo 
    "<input type=\"submit\" name=\"elimina\" value\"Cancella\">
    </form>
    </tr>
    </table>
    </td>
    <tr>
    <td>
    <center><font size=\"-3\" face=\"Verdana, Arial, Helvetica, sans-serif\"> Sviluppato da Lupo 2006</font></center>
    </td>
    </tr>
    </table>
    </div>
    <a href=\"Index.php\">Indice</a>&nbsp&nbsp<a href=\"Modifica.php\">Modifica</a>


    </center>
    </body>
    </html>"
    ;
    }
    ?>
    Quando devi postare del codcie racchiudilo nei tag [ PHP ] o [ CODE ] renderai il codice più leggibile.

  8. #8
    Sei un fenomeno grazie infinite, ora funziona , ti assicuro che se non mi aiutavi non dormivo stanotte . THX e... DORMI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.