• User Attivo

    delete

    Ciao a tutti, mi è capitata una cosa strana, sto effettuando una cancellazione di record dal db,
    [PHP]
    require 'Config.php';
    require 'Connect.php';
    $id=isset($_GET['id_contatto']);
    $query_elimina="DELETE FROM Contatti WHERE id_contatto=$id";
    $result_query=mysql_query($query_elimina)or die("errore nella query;".mysql_error());
    if($result_query)
    {
    header('location:'.'../app_eye_contatto.php');
    exit;
    }
    mysql_close();
    [/PHP]
    potete farmi capire perchè non funziona?
    non cancella niente, ho provato anche a mettere gli apici singoli
    '$ip', anche se da come ho letto non è obbligatorio perchè è un numerico
    ma cmq il risultato non cambia

    ciao e grazie


  • Bannato User Attivo

    ti da qualche errore?
    prova a vedere se passa l'id nella variabile con un echo
    tipo echo $id
    o prova con questa query
    $query_elimina="DELETE FROM Contatti WHERE id_contatto=".$id. "";


  • Bannato User Attivo

    $id=isset($_GET['id_contatto']);

    Così $id è sempre uguale a 1 o 0. Sostituisci la riga sopra con:

    $id=isset($_GET['id_contatto']) ? $_GET['id_contatto'] : 0;


  • User Attivo

    @saro78 said:

    Così $id è sempre uguale a 1 o 0. Sostituisci la riga sopra con:

    $id=isset($_GET['id_contatto']) ? $_GET['id_contatto'] : 0;

    Grazie va benissimo,
    volevo chiederti come mai questo passaggio?
    è normale?
    si poteva fare diversamenteù?, perchè il libro che sto leggendo mi ha proposto il codice che ho scritto sopra

    ciao e grazie ancora da danny


  • User Attivo

    $id=isset($_GET['id_contatto']) ? $_GET['id_contatto'] : 0;

    Equivale all'operatore ternario, ovvero che assegna ad una variabile un determinato valore se è prevista una condizione
    Esempio

    $valore=(1<3) ? 'si' : 'no';

    Equivale
    if(1<3){
    $valore="si";
    }
    else
    {
    $valore="no";
    }

    E' una soluzione che risparmia parecchie righe di codice


  • User Attivo

    @ilnetsurfer said:

    $id=isset($_GET['id_contatto']) ? $_GET['id_contatto'] : 0;

    Equivale all'operatore ternario, ovvero che assegna ad una variabile un determinato valore se è prevista una condizione
    Esempio

    $valore=(1<3) ? 'si' : 'no';

    Equivale
    if(1<3){
    $valore="si";
    }
    else
    {
    $valore="no";
    }

    E' una soluzione che risparmia parecchie righe di codice

    grazie avevo già letto l'operatore ternario
    cmq grazie lo stesso
    solo che non riesco a capire il suo utilizzo in una delete
    io lo usato in una insert
    [php]
    disponibile=isset($_POST['txtdisponibile'])?"SI":"NO";
    [/php]
    questo è ciò che mi offre il libro
    [php]
    query_elimina="delete from contatti where id_contatto='$id'";
    [/php]
    io non lo testata può darsi anche che non funziona, tante volte
    scusate il mio dilungare è solo per capire in futuro come scrivere una delete

    grazie da danny


  • User Attivo

    L'utilizzo dell'operatore ternario in questo caso è dovuto solamente per vedere se la variabile id_contatto esiste:
    se restituisce true, allora il valore di $id è quella di id_contatto, altrimenti era 0
    Si puo sia utilizzare l'insert e il delete...sempre di trattamento di dati si tratta!


  • User Attivo

    @ilnetsurfer said:

    L'utilizzo dell'operatore ternario in questo caso è dovuto solamente per vedere se la variabile id_contatto esiste:
    se restituisce true, allora il valore di $id è quella di id_contatto, altrimenti era 0
    Si puo sia utilizzare l'insert e il delete...sempre di trattamento di dati si tratta!

    grazie per la spiegazione e disponibilità

    buone vacanze
    da danny


  • User Attivo

    Figurati!
    Buone vacanze anche a te(le mie sono finite :crying::crying:)
    Ciaoooooooooooo