Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16

    inserire valori checkbox in array

    Ciao a tutti,
    dovrei inserire i valori di una checkbox in un array...


    <input type=checkbox nome=id[] value=$row[codice]></td>

    dopo aver fatto submit viene caricata una pagina che cancellerà i file che sono stati spuntati....

    ...
    $array_id=$_POST['id'];

    for ($i=0; $i < count($array_id); $i++){
    $query = "DELETE FROM `nomedatabase`.`nometabella` WHERE `nometabella`.`codice` = '$array_id[$i]' ";
    ....


    ho notato che non mi entra mai nel for e non riesco a capire il perchè anche se credo di sbagliare a mettere i valori dentro l'array_id. Dov'è il problema?

    Grazie mille della vostra disponibilità.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    attributo NAME anzi che NOME??

    <input type=checkbox nome=id[] value=$row[codice]></td>(tuo)
    <input type=checkbox name=id[] value=$row[codice]></td>

    Magari e' solo questo??

  3. #3
    attributo NAME anzi che NOME??
    Esatto.
    Peraltro, se vuoi rendere il tuo script compatibile con tutti i browser in circolazione, ti conviene usare - oltre all'attributo NAME - anche l'attributo ID.
    Qui però devi stare attento che non ti crei problemi con la variabile d'array ID[] che usi per recuperare i valori della checkbox.

    Altra osservazione.
    Non hai bisgno di fare un ciclo di query per cancellare tutti i record passati dalla form: puoi usare WHERE IN.

    Codice PHP:
    $array_id $_POST['id'];
    $stringa implode(','$array_id);
    $sql "DELETE FROM `nomedatabase`.`nometabella` WHERE `nometabella`.`codice` IN $stringa "
    Altra considerazione.
    Se il riferimento ai record è numerico, non serve che tu inserisca i valori con gli apici!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16
    ok ragazzi ho risolto....
    avevo sbagliato prprio NOME..vabbè ho cominciato da poco quindi sti errori li faccio ancora...
    potete spiegarmi quella cosa della compatibilita?
    come si usa l'attributo id?non l'ho mai usato.. Io andro a vedere su internet pero se magari mi fate un esempio semplice lo gradisco... Cmq grazie 1000!!

  5. #5
    devi mettere anche gli apici
    codice:
    <input type="checkbox" name="id[]" value="<?php echo $row['codice']?>"/>

  6. #6
    Originariamente inviato da neo2284
    potete spiegarmi quella cosa della compatibilita?
    come si usa l'attributo id?
    Semplice.
    Alcuni browser vanno a ripescare i dati passati da una form cercando l'attributo NAME di ogni campo di input, mentre altri cercano il campo ID.
    Se vuoi rendere i tuoi script più compatibili possibile ad ogni browser, oltre ai vari attributi CSS - che spero userai, sarebbe il caso di tenere presente anche queste piccole cose.

    Per la questione di stare attento all'uso della variabile di array, ti consiglio di fare quanto segue.
    Codice PHP:
    <input type="checkbox" id="record[]" name="record[]" value=<?php echo $row['codice']; ?> />
    <?php
    // Ricorda che se VALUE contiene un valore numerico, 
    // i doppi apici non solo non sono necessari, ma sono sconsigliati.
    ?>
    In questo modo, la lista degli ID da cancellare dal DB sarà contenuta nell'array $_POST['record'] ed eviti qualsiasi probabile incasinamento con un NAME id che contiene un array con lo stesso nome.
    Mi raccomando, gli attributi ID e NAME di un input DEVONO NECESSARIAMENTE avere lo stesso nome.


    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Originariamente inviato da funnylux
    devi mettere anche gli apici
    Se è per questo anche il punto e virgola in fondo!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    va be dai per il ";" già ci pensa "?>" in quel caso

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16
    vi siete divertiti e?
    vabbe sono un principiante...cmq funziona pero ora mettero anche l'attributo id....tanto non mi costa niente e se dite che è compatibile con piu browser ok... ciao ciao e grazie

  10. #10
    Originariamente inviato da funnylux
    va be dai per il ";" già ci pensa "?>" in quel caso
    Beh... avevi puntualizzato la questione degli apici.... se si deve puntualizzare è bene farlo completamente. No???
    Comunque non ho testato, ma sono convinto che l'assenza di punto e virgola ritorni un errore anche in questo caso!

    vi siete divertiti e?
    Ma ci mancherebbe. Ritengo sia normale che chi legge uno script in un forum, si ritrovi a cercare il famoso ago nel pagliaio!
    E ti garantisco che spesso viene meglio trovare errori negli script degli altri piuttosto che in quelli propri!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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 © 2024 vBulletin Solutions, Inc. All rights reserved.