Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: [checkbox] deselezione

  1. #1

    [checkbox] deselezione

    Ciao

    in pratica ho dei checkbox creati dinamicamente da dei dati prelevati dal database ora spuntando le caselle memorizzo nel database tramite array e finqui ok!!!

    il procedimento inverso cioè

    i checkbox creati dinamicamente e precedentemente selezionati appaiono già con la casella selezionati, se io li deseleziono come potrei cancellarli dal database visto che una checbox se non è selezionata non invia nessun valore?



    intanto medito sulla soluzione!!!

  2. #2

    Re: [checkbox] deselezione

    Originariamente inviato da roberto1982
    Ciao

    in pratica ho dei checkbox creati dinamicamente da dei dati prelevati dal database ora spuntando le caselle memorizzo nel database tramite array e finqui ok!!!

    il procedimento inverso cioè

    i checkbox creati dinamicamente e precedentemente selezionati appaiono già con la casella selezionati, se io li deseleziono come potrei cancellarli dal database visto che una checbox se non è selezionata non invia nessun valore?



    intanto medito sulla soluzione!!!
    mmm...forse ti stai perdendo in un biccher d'acqua
    quando una checkbox non è selezionata invia "null" o campo vuoto......quindi:

    if($_POST['checkbox'] == "") echo 'Non hai selezionato checkbox';
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  3. #3
    ok ma non riesco a capire come recuperare l'id per poterlo cancellare dal database visto che se non selezionata non mmi arriva nulla!!!



  4. #4
    Originariamente inviato da roberto1982
    ok ma non riesco a capire come recuperare l'id per poterlo cancellare dal database visto che se non selezionata non mmi arriva nulla!!!


    ...intanto posta un po di codice cosi possiamo aiutarti piu facilmente, evitando di indovinare il problema :9
    in ogni caso se le checkbox le crei dinamicamente significa che assegni loro anche un nome dinamicamente indipendentemente se ha o no un valore.....
    Visita il mio Sito Web: http://www.distefanogiuseppe.it

  5. #5
    il form


    Codice PHP:
        <input name="sel_<?php echo"$array[id_dato]"?>" type="checkbox" <?php if ($conta_attivi=="1") echo"checked"?> value="<?php echo"$array_attivi[id]"?>"> <?php  echo"$array[dati])"?>
    codice

    Codice PHP:
    $conta_elementi=count($_POST);
    $conta_elementi_reali=$conta_elementi-1// Perchè insieme ai dati tramite $_POST c'è anche il submit che va tolto
    $q=0;

    foreach (
    $_POST as $key=>$value) { // Ciclo tutti i dati presenti in POST mantenendo l'associazione nome=valore
    if (substr($key,0,4)=='sel_') {
    $q++; // Se il nome di un dato inizia con "sel_" significa che contiene il valore di un checkbox (utile per escludere altri dati, ad es. il nome del pulsante submit che viene inviato anch'esso e che non deve essere aggiunto)
    $name substr($key,4); // Estraggo la parte del nome successiva a "sel_"
    $stringa.="('$value','id_utente','$name') "// Preparo i dati da memorizzare nel database tramite query es.: (1,2,3)
    if ($q $conta_elementi_reali) { $stringa.=","; } // L'ultima $stringa non faccio comparire la virgola altrimenti non memorizza la query
    }
    }
        
    mysql_query("replace into dati (id,id_utente,id_dati) values $stringa"); 
    con questo script riesco ad aggiornare le chekbox dentro il database, già provato!!!

    considera che in parte l'ho trovato qui nel forum e poi l'hoi adattato

  6. #6
    ho snellito

    Codice PHP:
    <input name="sel[<?php echo"$array[id_dati]"?>]" type="checkbox" <?php if ($conta_attivi=="1") echo"checked"?> value="<?php echo"$array_attivi[id]"?>"> <?php echo"$array[dati]"?>

    Codice PHP:
    $conta_elementi=count($_POST[sel]);
    $q=0;

    foreach (
    $_POST[sel] as $key=>$value) { // Ciclo tutti i dati presenti in POST mantenendo l'associazione nome=valore
    $q++; 
    $name $key
    $stringa.="('$value','id_utente']','$name') "// Preparo i dati da memorizzare nel database tramite query es.: (1,2,3)
    if ($q $conta_elementi) { $stringa.=","; } // L'ultima $stringa non faccio comparire la virgola altrimenti non memorizza la query
    }
    mysql_query("replace into dati (id,id_utente,id_dati) values $stringa"); 
    idee?

    continuo a meditare!!!

  7. #7
    mi pare di capire che crei i checkbox sapendo già in principio quanti siano e sai come chiamarli.. dunque:

    tu li nomini così

    "sel_".$array[id_dato]; //TRA L'ALTRO E' SBAGLIATA LA SINTASSI, DEVI SCRIVERE:
    "sel_".$array["id_dato"];

    quindi quando cicli, farai:

    if (empty($_POST["sel_".$array[$i]]
    //elimini da db
    else
    //aggiungi al db
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  8. #8
    probabilmente sbaglio io in qualcosa che non vedo, ma se la checkbox è deselezionata non mi arriva il nome della checkbox, nulla, mi arrivano solo le caselle selezionate;
    quindi stavo pensando di fare una query al database trir fuori l'id confrontarli con quelli che mi passano e chi non è presente nella lista eliminarlo!!!

    che ne dite??

    mi sembra macchinosa ma non mi viene altro da pensare!!! altre idee!!!




  9. #9
    ma appunto.. il mio codice controlla e se manca all'appello un post (checkbox vuota), te lo segnala...

    L'empty serve a quello
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  10. #10
    Sarò incapace ma a me non da nessun risultato!!!!

    caselle selezionate 5,7,8,9

    deseleziono le caselle 5,7

    tramite post arriva solo 8,9

    if (empty($_POST[8])) cancella else aggiungi

    if (empty($_POST[9])) cancella else aggiungi

    a me questo da!!!

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.