Visualizzazione dei risultati da 1 a 10 su 10

Discussione: checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87

    checkbox

    Salve gente!

    Un classico problemone mi affligge.
    In pratica ho una tabella con delle stringhe e ad ogni riga corrisponde una checkbox.
    Voglio che alla pressione di un pulsante venga "trasferito" alla pagina seguente le stringhe che corrispondono alle checkbox selezionate per essere eliminate dal database.
    Ci sto provando con il POST ma non funziona.
    Chi mi aiuta?

    Grazie!
    Ciao ciao!
    vlr

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Come hai impostato il nome e il valore del checkbox?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    Ne ho provato diverse, comunque il più sensato mi è sembrato appioppare come nome i nomi dei campi e come valore i valori dei campi
    Ciao ciao!
    vlr

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Il ragionamento è giusto, però trattandosi di dati ciclati ti occorre creare un array per il "valore" del checkbox, in maniera tale da ottenere una sorta di indice progressivo. Una cosa tipo:
    codice:
    <input type="checkbox" value="'.$records['id'].'" name="id[]">
    dove "id" è il nome del campo nella tabella del database.

    Dopo aver selezionato uno o più checkbox, e dopo aver inviato i dati alla pagina successiva, ad esempio delete.php, potresti usare un ciclo foreach per associare l'indice ottenuto dalla selezione dei checkbox (nome="id[]") all'indice creato dal foreach. Così:
    codice:
    foreach ($_POST['id'] as $key => $value)
    {
        $id = $_POST['id'][$key];
        mysql_query("DELETE FROM tabella WHERE id='$id'", $db);
    }
    Più o meno dovrebbe essere così...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    Scusa ma non capisco, forse mi sono spiegato male.
    Faccio un esempio più chiaro, la tabella è grosso modo così:

    campo1 campo2 campo3 campo4 eliminare?
    dato1a dato2a dato3a dato4a checkbox
    dato1b dato2b dato3b dato4b checkbox
    dato1c dato2c dato3c dato4c checkbox
    dato1d dato2d dato3d dato4d checkbox

    Grazie!
    Ciao ciao!
    vlr

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Se "id" è il campo primario, è auto_increment e si trova all'inizio della "RIGA" nella tabella, con la query DELETE FROM tabella WHERE id='$id', elimini anche tutti i campi associati ad "id".
    Esempio:
    codice:
    +----+--------+--------+--------+
    | id | campo1 | campo2 | campo3 |
    |----|--------|--------|--------|
    |  1 | dato1  | dato2  | dato3  |
    |----|--------|--------|--------|
    |  2 | dato1  | dato2  | dato3  |
    +----+--------+--------+--------+
    Selezionado id 1 eliminerai dato1, dato2 e dato3. Così per tutti gli id selezionati.
    Nell'esempio che ti ho fatto prima questa operazione viene eseguita dal ciclo foreach.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    Nel mio caso tutti i campi che mostro fanno parte della chiave primaria, quindi li devo passare tutti.
    Ciao ciao!
    vlr

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Scusami, non ti seguo... ma quante primary key hai nella tabella?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    La chiave è formata da 4 campi.
    Ciao ciao!
    vlr

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    [supersaibal]Originariamente inviato da neida
    Scusami, non ti seguo... ma quante primary key hai nella tabella? [/supersaibal]
    Alla fine ce l'ho fatta. Ti ringrazio molto!
    Ciao ciao!
    vlr

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.