Prvi ste put ovdje? Pročitajte faq i registrirajte se.
x
  • Registracija
Dobrodošli, ovdje možete postavljati pitanja vezana za problematiku programiranja. Da bi postavili pitanje nije potrebna registracija :)

149 pitanja

181 odgovora

158 komentara

1,755 korisnika

Zadnje značke

Potvrđeni korisnik
TwilaBunning...
Potvrđeni korisnik
ElmoHodson3...
Potvrđeni korisnik
VanitaWoodd5...
Potvrđeni korisnik
RafaelaDurgi...
Potvrđeni korisnik
LenoreFelix4...

dinamičko kreiranje checkboxova i čitanje iz njih

+4 glasova

Već se duže vrijeme mučim s problemom i nikako da ga riješim..

Iz baze izvlačim podatke i na temelju tih podataka stvaram checkboxove. Nakon toga dajem korisniku opciju da može čekirati što želi i da opet s tim podaci nešto radim.

Moje pitanje je: kako pročitati dinamički stvorene checkboxove i ovisno o tome da li je čekirano ili ne napraviti neku radnju?

Evo koda s kojim kreiram chekcboxove:

while($aa = mysql_fetch_array($s)) {
    $ime_pre=$aa['ime']." ".$aa['prezime'];
    echo "<input type='checkbox' name='checkbox[]' value='$ime_pre' />$ime_pre";
    echo "<br />";
}
Upit Lis 20, 2013 anonimno  
Ažurirano Lis 20, 2013 primjeri
   

3 Odgovori

+2 glasova

Nije mi baš jasno što želiš postići ali ako sam dobro shvatio i ako je metoda POST onda ovako otprilike:

$tmp = array();

if( isset($_POST['submit']) ){
    foreach($_POST['checkbox'] AS $checkbox){
        if ( ! empty($checkbox) ) {
            $tmp[] = $checkbox;
        }
    }
}

var_dump($tmp);

Ili:

$tmp = array();

if( isset($_POST['submit']) ){
    foreach($_POST['checkbox'] AS $checkbox){
        if( isset($checkbox) )
            switch($checkbox){
                case 'value1':
                //radi nešto
                break;

                case 'value2':
                //radi nešto
                break;

                default:
                // ako nema case-va radi neki default
                break;
            }
    }
}
Odgovoreno Lis 20, 2013 yosip (508)  
0 glasova

Hvala Josipe!

Znači, moje pitanje konkretno glasi ovako..

Želim iz baze podataka izvuci sve djelatnike i za svakog djelatnika napraviti nečekirani checkbox. Zatim želim imati neki submit button nakon kojeg se prolazi kroz sve prethodno kreirane checkoxove i ovisno o tome da li je čekirano ili ne, unijeti u neku drugu tablicu u bazi podataka + ako checkbox čekiran ili - ako checkbox nije čekiran.

Broj djelatnika u bazi se mijenja i želim da to bude dinački sve kreirano, uvijek trenutno stanje...

Odgovoreno Lis 21, 2013 Luzer20 (38)  
Zašto bi uopće htio imati više tablica za djelatnike. Kreiraj jednu tablicu za djelatnike u kojoj su svi djelatnici i prošli i sadašnji. Dodaj kolonu "aktivan" (tinyint) koja može imati vrijednosti "1" ako je zaposlenik aktivan odnosno "0" ako zaposlenik više ne radi. Tako možeš dohvatiti sve trenutne ( ...AND aktivan = 1...) ali i sve bivše zaposlenike (...AND aktivan=0...). Yosip-ovom metodom prođeš kroz sve checkbox-ove i ako su checkirani spremiš aktivan = 1 u suprotnom aktivan=0 ili možeš u bazi staviti da ti je polje not null a da je default 0 ili 1 ovisi kak već hoćeš. Ak' nađem malo vremena možda ispišem kompletan primjer :D
0 glasova

Da bi mogao povuči podatke iz checkboxa, moraš imati submit button. A da bi submit button radio, moraš imati otvoren form tag. Prije while petlje otvori form tag i nakon petlje stavi submit i zatvori form tag. Npr.

<form method="POST" action="get_checkbox_data.php">

<?php while($aa = mysql_fetch_array($s)):?>

<input type="checkbox" name="checkbox[]" value="<?php echo $aa['ime'].' '.$echo $aa['prezime'];?>" /><?php echo $aa['ime'].' '.$aa['prezime];?>

<?php endwhile;?>

<input type="submit" name="submit" value="Spremi" />

</form>

P.S. Nikako na zelenu granu s ovim editorom. :)

Odgovoreno Lis 21, 2013 sinisa (341)  
Da me ne razumijete krivo, nemam ja vise relacija za djelatnike(imam samo jednu), ali imam i jos jednu relaciju prisustvo. Relacija prisustvo je vezana na djelatnika i vezana je na aktivnost.

U toj formi koju ja zelim napraviti sitauacija je ovakva:

1. Želim ispisati sve djelatnike u obliku nečekiranih checkboxova(djelatnici se mogu naknadno dodavati i to aktivan/neaktivan mi se u ovoj situaciji ne cini vaznim, ali imam tako napravljeno)
2. Zelim mogućnost unosa aktivnosti i opisa aktivnost(radi se unos u tablicu aktivnost)
3. Klikom na submit button gdje se upise aktivnost i dobe svi djelatnici želim u relaciju prisustvo unijeti sifre djelatnika, sifru tek unešene djelatnosti i prisustvo djelatnika)

Da li je sad jasnije? Reakcije su maksimalno normalizirane, unos aktivnosti i ispis checkboxova imam. Trebam samo jos napraviti prolaz kroz checkboxove i unos u tablicu prisustvo