Visualizzazione risultati 1 fino 24 di 24

Discussione: comando DELETE per eliminare dati da form

  1. #1
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito comando DELETE per eliminare dati da form

    inserisco questo codice sulla riga di dati estratti dal database:
    Codice PHP:
          echo '<td width="20%">
       <script type="text/javascript">
    // Confirm submission of delete form    
    function verify() {
        msg = "Sicuro di voler cancellare?";
        return confirm(msg);

    </script>

    <form name="myform" action="delete.php" method="POST">
    <input type="button" name="delete_this" value="Delete" onclick="return verify()"/>
    </form>
    </td>'

    la pagina delete.php cos composta:

    Codice PHP:
    <?php

    if ($_POST[delete]) {

    $result mysql_query("DELETE FROM calcetto_nextmatch WHERE row='delete_this'") or die("Could not delete record");
    echo(
    "The record has been deleted");
    // Then redirect them somewhere useful
    }
    ?>
    se clicco sul pulsante che per mi compare non avviene nulla se non la richiesta di conferma, ma i dati non vengono cancellati
    Ultima modifica di FantaGalla : 06-10-2009 alle ore 15.17.07

  2. #2
    L'avatar di mycarlo
    mycarlo non  connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Prova ad aggiungere mysql_error() e a utilizzare direttamente la query senza racchiuderla in una variabile.

    Codice PHP:
    <?php

    if ($_POST["delete"]) { // occhio alle costanti :P

    mysql_query("DELETE FROM calcetto_nextmatch WHERE row='delete_this'") or die(mysql_error());
    echo(
    "The record has been deleted");
    // Then redirect them somewhere useful
    }
    ?>

  3. #3
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    niente, non da nessun risultato nemmno cos

  4. #4
    Guest

    Predefinito

    Mi pare che, nella post, non venga passato "Delete" ma "delete_this".

    Ciao

  5. #5
    Guest

    Predefinito

    Prova cos:
    Codice PHP:
    <?php

    if ($_POST[delete]) {

    $result mysql_query("DELETE FROM calcetto_nextmatch WHERE row='$_POST[delete]'") or die("Could not delete record");
    echo(
    "The record has been deleted");
    // Then redirect them somewhere useful
    }
    ?>
    PS. Comendo non esiste in Italiano! O__o. Forse volevi dire comando...che in realt una funzione del MySQL! XD

  6. #6
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    non funziona nemmeno cos

  7. #7
    L'avatar di mycarlo
    mycarlo non  connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice PHP:
    <?php

    if ($_POST["delete"]) {

    $result mysql_query("DELETE FROM calcetto_nextmatch WHERE row='{$_POST["delete"]}'") or die("Could not delete record");
    echo(
    "The record has been deleted");
    // Then redirect them somewhere useful
    }
    ?>
    P.S. non avevo nemmeno constrollato la query

  8. #8
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

  9. #9
    Guest

    Predefinito

    Scusami un secondo...ma come ti dovrebbe restituire quella funzione JS?
    Puoi postare una pagina di anteprima? Grazie.

    Edit: Non si canceller mai niente, perch tu con "delete_this" stai inviando il testo del pulsante...non l'id (ad esempio) della riga da cancellare...
    Ultima modifica di sIM : 06-10-2009 alle ore 15.40.54

  10. #10
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Devi cambiare button in submit
    Codice:
    echo '<td width="20%">
       <script type="text/javascript">
    // Confirm submission of delete form    
    function verify() {
        msg = "Sicuro di voler cancellare?";
        return confirm(msg);
    } 
    </script>
    
    <form name="myform" action="delete.php" method="POST">
    <input type="button" name="delete_this" value="Delete" onclick="return verify()"/>
    </form>
    </td>';

  11. #11
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    quello il problema, a me non interessa come restituisce la pagina, basta che mi cancella il campo richiesto

    link all'immagine --> http://fantagalla.altervista.org/Untitled-1.jpg


    EDIT:
    cambiando button in submit mi va dalla pagina modulo a quella delete.php ma non cancella il campo richiesto
    Ultima modifica di seneca : 06-10-2009 alle ore 20.48.23

  12. #12
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Ma cosa contiene delete
    Codice:
    $_POST["delete"]
    Scrivi la struttura della tabella calcetto_nextmatch.
    Perch deve contenere un campo univoco per righa.
    Ultima modifica di andreafallico : 06-10-2009 alle ore 16.19.27

  13. #13
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    cosa intendi?


    EDIT:
    la tabella del database o quella del modulo?
    per quanto riguarda l'inseriemnto dei dati nel database funziona tutto correttamente, il mio problema questo DELETE che non funzione, a mio avviso il problema sta nel fatto che non gli viene indicato precisamente cosa cancellare, non dovrebbe esserci un richiamo ad un ID o qualcosa del genere?
    Ultima modifica di seneca : 06-10-2009 alle ore 20.49.21

  14. #14
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Appunto io volevo vedere la struttura della tabella perch ci deve essere un ID unico in modo tale che quando clicchi sul bottone riconosce quale riga eliminare.

  15. #15
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    Codice PHP:
    <table border="1" width="100%" style="border-collapse: collapse" id="table1">  
    <?php
    include("config.inc.php");
    $db mysql_connect($host$username);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($database$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query "SELECT data, orario, competizione, avversario FROM calcetto_nextmatch ORDER BY data";

    $result mysql_query ($query$db);

    $i 0;
    while (
    $line mysql_fetch_array ($result))
    {
       
    $i++;
       echo 
    '<tr>';
       echo 
    '<td width="20%">' $line['data'] . '</td>';
       echo 
    '<td width="20%">' $line['orario'] . '</td>';
       echo 
    '<td width="20%">' $line['competizione'] . '</td>';
       echo 
    '<td width="20%">' $line['avversario'] . '</td>';
       echo 
    '<td width="20%">
       <script type="text/javascript">
    // Confirm submission of delete form    
    function verify() {
        msg = "Sicuro di voler cancellare?";
        return confirm(msg);

    </script>

    <form name="myform" action="delete.php" method="POST">
    <input type="submit" name="delete_this" value="Delete" onclick="return verify()">
    </form>
    </td>'
    ;
       echo 
    '</tr>';
    }
    ?>
    </table>
    questo il form nella pagina php...

    la struttura della tabella :
    id, data, orario, competizione, avversario
    Ultima modifica di dreadnaut : 06-10-2009 alle ore 17.08.40 Motivo: + tag [php]

  16. #16
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  17. #17
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

  18. #18
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova cos:
    Codice PHP:
    <script type="text/javascript">
    // Confirm submission of delete form    
    function verify() {
        msg = "Sicuro di voler cancellare?";
        return confirm(msg);

    </script>
    <table border="1" width="100%" style="border-collapse: collapse" id="table1">
    <form name="myform" action="delete.php" method="POST">
    <?php
    include("config.inc.php");
    $db mysql_connect($host$username);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($database$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");

    $query "SELECT * FROM calcetto_nextmatch ORDER BY data";

    $result mysql_query ($query$db);

    $i 0;
    while (
    $line mysql_fetch_array ($result))
    {
       
    $i++;
       echo 
    '<tr>';
       echo 
    '<td width="20%">' $line['data'] . '</td>';
       echo 
    '<td width="20%">' $line['orario'] . '</td>';
       echo 
    '<td width="20%">' $line['competizione'] . '</td>';
       echo 
    '<td width="20%">' $line['avversario'] . '</td>';
       echo 
    '<td width="20%">Elimina <input type="radio" name="delet" value="'.$line['id'].'" /></td>';
       echo 
    '</tr>';
    }
    mysql_close($db);
    ?>
    <tr><td colspan="5" align="center">
    <input type="submit" value="Delete" onclick="return verify()">
    </td></tr>
    </form>
    </table>
    la pagina delete.php cos:
    Codice PHP:
    <?php
    ...
    ...
    ...
    $name_inp = (!empty($_POST['delet'])) ? trim($_POST['delet']) : '';
    $name addslashes($name_inp);
    if(
    $name != null && $name != ''){
    $result mysql_query("DELETE FROM calcetto_nextmatch WHERE id='$name'") or die("Could not delete record");
    echo(
    "The record has been deleted");
    // Then redirect them somewhere useful
    }
    ...
    ...
    ...
    ?>
    Ultima modifica di andreafallico : 06-10-2009 alle ore 17.59.42

  19. #19
    Guest

    Predefinito

    Questo:
    Codice PHP:
    if($name != null && $name != ''){ 
    Sostituiscilo con questo:
    Codice PHP:
    if(!empty($name)) { 

  20. #20
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    n iente, mi da errore nella riga 2 di delete.php, eliminando poi le righe coi tre puntini di sospensione mi da comunque impossibile eliminare il record

  21. #21
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Nel file delete.php al posto dei puntini hai inserito:
    Codice PHP:
    <?php
    include("config.inc.php");
    $db mysql_connect($host$username);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($database$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");
    poi questo:
    Codice PHP:
    or die("Could not delete record"
    sostituiscilo con questo:
    Codice PHP:
    or die(mysql_error()) 

  22. #22
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    Parse error: syntax error, unexpected T_ECHO


    e non ho capito la storia dei puntini, cosa sostituire ecc..mettimi il file preciso, n on son programmatore, non ci capisco nulla senn

  23. #23
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Delete.php cos:
    Codice PHP:
    <?php
    $name_inp 
    = (!empty($_POST['delet'])) ? trim($_POST['delet']) : '';
    $name addslashes($name_inp);
    if(
    $name != null && $name != ''){
    include(
    "config.inc.php");
    $db mysql_connect($host$username);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($database$db) or die ("Errore nella selezione del database. Verificare i parametri.");
    $result mysql_query("DELETE FROM calcetto_nextmatch WHERE id='$name'") or die(mysql_error());
    echo(
    "The record has been deleted");
    mysql_close($db);
    }
    ?>

  24. #24
    L'avatar di FantaGalla
    FantaGalla non  connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    ok, perfetto...ora funziona...grazie mille...gi che ci siamo se mi vuoi dar una mano per l'altro topic sulla questione dell'immagine con nome recuperata da database

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •