Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    cancellare un record in MySql con php

    ho un database in MySql che vorrei gestire con un'interfaccia web (aggingere, cancellare e modificare un record). Ho preparato gli script php "visualizza database.php" e "cancella.php". Il primo ha un link al secondo script e dovrebbe eliminare il record identificato da un ID che nel mio caso si chiama US.
    Il link a cancella.php funziona, chiede conferma se cancellare o meno il record ma poi non lo cancella. Vorrei sapere come risolvere il problema.
    Mando i due script:

    Visualizza database evoluto.php:

    !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html><head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Visualizza il database</title>

    </head>
    <body>
    <div style="text-align: center;">
    <big><big><big>
    Archivio di Pantelleria</big></big></big>









    <?php $db_host = "localhost";
    $db_user = "root";
    $db_password = "";
    $db_name = "archeologia";
    $password = "";
    $db = mysql_connect($db_host, $db_user, $db_password)
    or die ("Errore nella connessione. ");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. ");
    $query = "select * from `archivio mursia`";
    $dbResult =mysql_query($query, $db);
    $AffectedRows = mysql_affected_rows($db);
    print ("<table border=\"1\">\n");

    for ($index=0; $index<$AffectedRows ; $index++)
    {
    $row=mysql_fetch_row($dbResult);
    if ($index==0)
    {
    print "<tr>\n";
    foreach ($row as $k => $v)
    {
    $myfield =mysql_fetch_field($dbResult, $k);
    print ("<td>" . $myfield->name . "</td>");
    }
    print "</tr>\n";
    }
    foreach ($row as $k => $v)
    {
    print ("<td>$v");
    if ($k==0)
    {
    print "
    ";
    print "<a href=\"cancella record.php?US=$v\">Cancella</a>";
    print "
    ";
    print "<a href=\"modifica record.php?US=$v\">Modifica</a>";
    }
    print ("</td>");
    }
    print "</tr>\n";
    }
    print "</table>\n";

    mysql_free_result($dbResult);
    print ("<h3>Accesso al database $db_name sul server $db_host </h3>");
    print ("<h3> Numero di record trovati: $AffectedRows </h3>");
    mysql_close($db);
    ?>






    </body></html>



    Cancella.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <title>Cancella Record</title>
    </head>

    <body>

    <?php

    $db_host = "localhost";
    $db_user = "root";
    $db_password = "";
    $db_name = "archeologia";
    $password = "";


    $confirm=$_POST['confirm'];
    $US=$_POST['US'];

    if($confirm)
    {
    $db = mysql_connect($db_host, $db_user, $db_password)
    or die ("Errore nella connessione.");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database.");

    $query="delete from `archivio mursia` where US=$US";
    $dbResult= mysql_query($query, $db);
    $AffectedRows=mysql_affected_rows($db);
    if ($AffectedRows==0)
    {
    print("<h3>Non esistono record con i criteri selezionati</h3>");
    }
    else
    {
    print("<h3>Il record è stato eliminato</h3>");
    print("<h3><a href=\"visualizza database evoluto.php\">Torna all'archivio</a></h3>");
    }
    mysql_close($db);
    }
    else
    {
    print("<h3>Eliminare il record?</h3>");
    print("<h3><a href=\"{$_SERVER['PHP_SELF']}?US=$US&confirm=1\">Conferma</a></h3>");
    print("<h3><a href=\"visualizza database evoluto.php\">Annulla</a></h3>");
    }
    ?>

    </body>

    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    Dopo $query="delete from `archivio mursia` where US=$US";
    scrivi
    var_dump (query);

    e posta il risultato.

    Il campo US del db di che tipo é? INT?

  3. #3
    Continua a non funzionare..
    il campo Us è di tipo varchar, dici sia quello il problema? Il fatto è che il campo US deve contenere numeri di catalogo che hanno a volte uno zero davanti tipo "001" e se fossero di tipo INT lo zero verrebbe tolto..

  4. #4
    Se il codice PHP nei post viene scritto in un tag "code" è più leggibile.

  5. #5
    Originariamente inviato da kiara3306
    Continua a non funzionare..
    il campo Us è di tipo varchar, dici sia quello il problema? Il fatto è che il campo US deve contenere numeri di catalogo che hanno a volte uno zero davanti tipo "001" e se fossero di tipo INT lo zero verrebbe tolto..
    codice:
    $query="delete from `archivio mursia` where US = '$US' ";
    $dbResult= mysql_query($query, $db) or die(mysql_error());
    metti le apici a $US visto che si tratta di un campo stringa e la segnalazione di errore.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Niente da fare non funziona ancora..

  7. #7
    Originariamente inviato da kiara3306
    Niente da fare non funziona ancora..
    mandi un GET e cerchi un POST ....

    rivedi un po' la logica usata per verificare il contenuto delle variabili.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    ora funziona è bastato cambiare i POST con REQUEST:
    $confirm=$_REQUEST['confirm'];
    $US=$_REQUEST['US'];

    grazie

  9. #9
    scusate leggevo il post e mi interessava anke a me a applicare il lo script per cancellare i record... ho notato che su questo script il record viene cancellato sotto l'indice US (che ovviamente rappresenta la riga) io invece volevo usare per esempio l'indice macchina, che è la prima colonna della mia tabella, allora ho sostituito tutti gli US con macchina, però lo script di fatto non mi cancella niente....
    vi prego aiutatemi!!!! grazie

  10. #10
    ciao.
    Hai sostituito macchina anche nello script che visualizza il database e che manda il parametro "macchina" allo script di cancellazione?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.