• User

    Cancellazione di un record in mysql

    Salve ho un piccolo problema. Ho completato uno script che mi visualizza in una tabella tutto il contenuto del db ora vorrei aggiungere un immagine che se cliccata permette la cancellazione di quel record. Mi spiego meglio

    ID NOME COGNOME .... ...DELETE
    01 Luca Rossi Immagine cancella
    02 ... .... cancella

    Per adesso ho fatto questo

    [php]$db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "SELECT * FROM prodotti ORDER BY id ";

    $result = mysql_query($query, $db);

    while ($row = mysql_fetch_array($result))
    {

    echo "<tr><td width="15" bgcolor="#FFFFCC"> <font size="4">$row[id]</font></td>"
    . "<td width="101" bgcolor="#FFFFCC"><a href="view.php?id=$row[id]">"
    . "<font size="4"> $row[nome]</font></a></td>"
    . "<td width="101" bgcolor="#FFFFCC"><font size="4">$row[tipo]</font></td> "
    . "<td width="60" bgcolor="#FFFFCC"> <font size="4"> $row[cognome]</font></td> "
    . " <td width="21"bgcolor="#FFFFCC" p align="center"><a href="delete.php?id=$row[id]">
    <img border = "0" src="delete.png" width="15" height="15"></a> </td></tr> ";

    [/php]

    il file delete.php è invece così composto

    [php]
    <?
    $id = $_GET['id'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = " DELETE * FROM prodotti WHERE id=?$id ?";

    if (mysql_query($query, $db))
    echo "<p align="center"><font face=verdana,tahoma,arial size=-1><b><font color="#000000"
    size="2">Articolo cancellato correttamente</font></b></p><br /><br />";
    else
    echo "<p align="center"><font face=verdana,tahoma,arial size=-1><b><font color="#000000"
    size="2">errore durante la cancellazione</font></b></p><br /><br />";
    [/php]Notice: Undefined variable: id? in c:\users\documents\easyphp1-8\www\prova\delete.php

    Domanda 1: Come mai?

    Ringrazio anticipatamente quanti vorranno aiutarmi


  • ModSenior

    Ciao liberlux,
    Sostituisci questo:
    [php]
    $query = " DELETE * FROM prodotti WHERE id=’$id ‘";
    [/php]
    Con questo:
    [php]
    $query = "DELETE FROM prodotti WHERE id='$id'";
    [/php]
    Attento a non confondere ’ con ' in quanto hanno 2 significati completamente differenti, il primo identifica il nome di un campo mentre il secondo all'interno viene messa la stringa .


  • User

    Grazie mille anche per la notifica, in effetti non sapevo la differenza. C'è sempre da imparare. :sun: