Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 10 di 11

Discussione: [PHP]Gestione checkbox

  1. #1
    Vento fresco L'avatar di Games
    Data Registrazione
    15/02/06
    Località
    Vaprio D'adda (MI)
    Età
    38
    Messaggi
    2,392
    Menzionato
    1 Post(s)

    Predefinito [PHP]Gestione checkbox

    E la prima volta che le affronto e mi trovo totalmente spiazzato.
    Ecco un immagine:



    Praticamente devo fare in modo che una volta che vengono spuntati i mex da cancellare e si preme su Elimina i selezionati me li cancelli.
    Il problema e che non riesco a capire come devo impostare il ciclo.
    Cioè come faccio a capire quante caselline ha spuntato?

    Thanks

  2. #2
    Vento fresco L'avatar di Games
    Data Registrazione
    15/02/06
    Località
    Vaprio D'adda (MI)
    Età
    38
    Messaggi
    2,392
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    I valori delle caselline spuntante non vanno a finire dentro l'array $_POST[] ??

    <input type="checkbox" name="cancella[]" value=<?=$record["id_mess"];?>

    edit: Risolto, una cavolata,ecco la soluzione :D

    $selezionati = $_POST["cancella"];
    $checkati = implode(',',$_POST['cancella']);
    Ultima modifica di Games; 25/05/2006 alle 10:17

  3. #3
    Vento moderato L'avatar di djordj
    Data Registrazione
    05/03/04
    Località
    Seveso (MI) - 210m s
    Età
    48
    Messaggi
    1,067
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da Games
    I valori delle caselline spuntante non vanno a finire dentro l'array $_POST[] ??

    <input type="checkbox" name="cancella[]" value=<?=$record["id_mess"];?>
    Sei sulla strada giusta, solo che ti manca l'id di ogni checkbox.

    Codice:
    <input type="checkbox" name="cancella[<?php echo $variabileCiclo ?>]" />
    Questo ti permette di avere n checkbox appartenenti ad un unico array cancella, ciascuno distinto dal proprio identificativo determinato dalla variabile $variabileCiclo (può essere un semplice counter incrementato ad ogni ciclo, oppure una stringa... insomma, come preferisci.

    Quando fai submit, nell'array $_POST (o $_REQUEST) ti trovi questa variabile, che in realtÃ* è un array: $_REQUEST['cancella'].

    A questo punto non devi far altro che gestire tutti gli elementi di quell'array, per esempio:
    Codice:
    $aChkBoxes = $_REQUEST['cancella'];
    print_r($aChkBoxes);    // Serve per controllare che ci sia tutto in debug, poi togli questa riga
    // Ciclo di scansione array checkbox
    // in $value viene messo il contenuto dell'elemento indicato dall'identificativo $key
    foreach ($aChkBoxes as $key => $value){
      if ($value == 'on'){
        // fai quello che devi fare sapendo che il checkbox cancella[$key] è stato selezionato
      }
    }
    Stefano Giorgetti
    always looking at the sky

  4. #4
    Vento fresco L'avatar di Games
    Data Registrazione
    15/02/06
    Località
    Vaprio D'adda (MI)
    Età
    38
    Messaggi
    2,392
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da djordj
    Sei sulla strada giusta, solo che ti manca l'id di ogni checkbox.
    Ho evitato il ciclo facendo così

    Codice:
     
    $selezionati = $_POST["cancella"];
    $checkati = implode(',',$_POST['cancella']);
    $query = "UPDATE mess_privati SET cestino = '1' where id_user='$id_user' AND id_mess IN ($checkati)";
    Funziona tutto alla grande, adesso i messaggi cancellati si trovano nel cestino

  5. #5
    Vento moderato L'avatar di djordj
    Data Registrazione
    05/03/04
    Località
    Seveso (MI) - 210m s
    Età
    48
    Messaggi
    1,067
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da Games
    Ho evitato il ciclo facendo così

    Codice:
     
    $selezionati = $_POST["cancella"];
    $checkati = implode(',',$_POST['cancella']);
    $query = "UPDATE mess_privati SET cestino = '1' where id_user='$id_user' AND id_mess IN ($checkati)";
    Funziona tutto alla grande, adesso i messaggi cancellati si trovano nel cestino
    Brutte scorciatoie
    Il giorno che cambi qualcosa nel db o nella form corri il rischio di dover rifare tutto

    Molto meglio assegnare un identificativo univoco ad ogni elemento della form e poi "parsarli" con un bel ciclo, nel quale nel tuo caso non fai altro che costruire la stringa da passare alla clausola WHERE della query.
    Il giorno che cambi qualcosa (arriverÃ*, contaci che arriverÃ* ) dovrai solo cambiare l'azione minima del ciclo, mentre la struttura della procedura rimarrÃ* invariata.
    Stefano Giorgetti
    always looking at the sky

  6. #6
    Vento fresco L'avatar di Games
    Data Registrazione
    15/02/06
    Località
    Vaprio D'adda (MI)
    Età
    38
    Messaggi
    2,392
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da djordj
    Brutte scorciatoie
    Il giorno che cambi qualcosa nel db o nella form corri il rischio di dover rifare tutto

    Molto meglio assegnare un identificativo univoco ad ogni elemento della form e poi "parsarli" con un bel ciclo, nel quale nel tuo caso non fai altro che costruire la stringa da passare alla clausola WHERE della query.
    Il giorno che cambi qualcosa (arriverÃ*, contaci che arriverÃ* ) dovrai solo cambiare l'azione minima del ciclo, mentre la struttura della procedura rimarrÃ* invariata.
    uhm, se succederÃ* non mi basterÃ* cambiare la query?

  7. #7
    Vento moderato L'avatar di djordj
    Data Registrazione
    05/03/04
    Località
    Seveso (MI) - 210m s
    Età
    48
    Messaggi
    1,067
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da Games
    uhm, se succederÃ* non mi basterÃ* cambiare la query?
    Forse si, forse no.

    Meglio prevenire che curare


    Stefano Giorgetti
    always looking at the sky

  8. #8
    diego72
    Ospite

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da djordj
    Forse si, forse no.

    Meglio prevenire che curare


    Per maggiore sicurezza scrivi tutto in linguaggio macchina, allora.

  9. #9
    Vento fresco L'avatar di Games
    Data Registrazione
    15/02/06
    Località
    Vaprio D'adda (MI)
    Età
    38
    Messaggi
    2,392
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da diego72
    Per maggiore sicurezza scrivi tutto in linguaggio macchina, allora.

  10. #10
    Vento moderato L'avatar di djordj
    Data Registrazione
    05/03/04
    Località
    Seveso (MI) - 210m s
    Età
    48
    Messaggi
    1,067
    Menzionato
    1 Post(s)

    Predefinito Re: [PHP]Gestione checkbox

    Citazione Originariamente Scritto da diego72
    Per maggiore sicurezza scrivi tutto in linguaggio macchina, allora.
    Stefano Giorgetti
    always looking at the sky

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •