Pogledajte određenu poruku
Staro 15. 04. 2010.   #1
blackshtef
profesionalac
Qualified
 
Avatar blackshtef
 
Datum učlanjenja: 27.09.2007
Lokacija: Grubišno Polje - Varaždin
Poruke: 104
Hvala: 10
3 "Hvala" u 2 poruka
blackshtef is on a distinguished road
Pošaljite poruku preko MSN za blackshtef Pošaljite poruku preko Skype™ za blackshtef
Question Ispis odabranih checkboxova i upis u bazu

Ovakva je situacija:
file1.php ima formular u kojem između ostalog postoji dropdown za odabir županije, te nekoliko checkbox polja za odabir jedne ili više omiljene hrane.
Klikom na submit, podaci se POST metodom šalju u file2.php, koji provjerava ispunjavaju li unešeni podaci uvjete i ako da, ispisuje ih, te ih upisuje u bazu.
Ako podaci ne ispunjavaju uvjete, vraća se na file1.php i pokraj konkretnog inputa ispisuje grešku (to planiram sa sessionima nekako složit, al prvo da ovo riješimo...)

file1.php
Ovim kodom se ispisuje dropdown izbornik sa svim županijama, te ispod toga checkboxovi za hranu. Podaci se uzimaju iz baze.
Kôd:
            <?php
                include("mysql_localhost_connect.php");
                $zupanija = mysql_query("SELECT zupanija_id, naziv FROM zupanije");
                echo "<select name='zupanija' id='zupanija'>\n";
                echo "<option value='0' selected='selected'>Odaberi županiju</option>\n";
                while(list($id, $naziv) = mysql_fetch_array($zupanija)) {
                    if($id == $zupanija) {
                        echo "<option value='$id'>$naziv</option>\n";
                    } 
                    else {
                        echo "<option value='$id'>$naziv</option>\n";
                    }
                }
                echo "</select>";
            ?>
            <br />
            
            <label>Omiljena hrana:</label><br />
            <?php
                $hrana = mysql_query("SELECT hrana_id, naziv FROM hrana");
                while(list($id, $naziv) = mysql_fetch_array($hrana)) {
                    if($id == $hrana) {
                        echo "<label for='$naziv' class='cb-label'>$naziv</label>";
                        echo "<input class='checkbox' type='checkbox' name='$naziv' id='$naziv'><br />";
                    }
                    else {
                        echo "<label for='$naziv' class='cb-label'>$naziv</label>";
                        echo "<input class='checkbox' type='checkbox' name='$naziv' id='$naziv'><br />";
                    }
                }
            ?>
file2.php
Ovo je dio koji provjerava da li je odabrana neka županija. Kako je nulti element "odaberi županiju", i njega je trebalo eliminirati u prvom if-u, jel.
E sad, problem je što mi ovaj dio koda ispisuje id županije, a ja bi da ispisuje ime.
Kôd:
//zupanija mora biti odabrana
                if (!(empty($_POST['zupanija']) || $_POST['zupanija']==0)) {
                    echo "Odabrali ste županiju br: " . $_POST['zupanija'] . "<br />";
                }
                else {
                    //$_SESSION['OdabranaZupanija'] = true;
                    echo "Niste odabrali županiju!<br />";
                }
Tablica županija u bazi:
Kôd:
zupanije(
    zupanija_id INTEGER,
    naziv VARCHAR(50),
    sjediste VARCHAR(50));
Ovaj dio provjerava jel odabrana barem jedna hrana, i ako je, ispisuje odabranu hranu. I to fino radi. Problem je kod upisa u bazu, ne znam kako da složim query da upiše id-eve odabrane hrane.
A moram tako jer u bazu upisujem samo id-eve :/
Kôd:
                //mora biti odabrana minimalno jedna hrana                 
                $lignje = "";
                $lazanje = "";
                $pizza = "";
                $cevapi = "";
                $kebab = "";
                $salata = "";
                $voce = "";
                
                if (isset($_POST['Lignje']))
                    $lignje = "Lignje,";
                
                if (isset($_POST['Lazanje']))
                    $lazanje = "lazanje,";
                    
                if (isset($_POST['Pizza']))
                    $pizza = "pizzu,";
                    
                if (isset($_POST['Ćevapi']))
                    $cevapi = "ćevape,";
                    
                if (isset($_POST['Kebab']))
                    $kebab = "kebab,";
                    
                if (isset($_POST['Salata']))
                    $salata = "salatu,";
                    
                if (isset($_POST['Voće']))
                    $voce = "voće";
                
                if (empty($_POST['Lignje']) && empty($_POST['Lazanje']) && empty($_POST['Pizza']) && empty($_POST['Ćevapi']) && empty($_POST['Kebab']) && empty($_POST['Salata']) && empty($_POST['Voće'])) {
                    //$_SESSION['OdabranaHrana'] = true;
                    echo "Morate odabrati barem jednu hranu!<br />";
                }
                else {
                    echo "Odabrali ste: " . $lignje . " " . $lazanje . " " . $pizza . " " . $cevapi . " " . $kebab . " " . $salata . " " . $voce . "<br />";
                }
Ovak izgleda tablica korisnika. Vidi se da se županija unosi preko id-a, hrana također, a i piće.
Kôd:
`korisnici` (`kor_ime`, `lozinka`, `ime`, `prezime`, `spol`, `email`, `url`, `ulica_broj`, `postanski_broj`, `mjesto`, `zupanija`, `hrana`, `pice`, `zivotopis`) VALUES
('nkrajaci', '123456', 'Nikola', 'Krajačić', 'M', 'nkrajaci@foi.hr', 'http://www.foi.hr', 'Pavlinska 2', '42000', 'Varaždin', 5, '1,2,3,4,5,6,7', '1,2,3,4,5,6,7', '..'),
Dakle, da sumiram - kako ispisati ime odabrane županije i kako složiti query da u bazu upiše sve hrane koje korisnik odabere?
__________________
I, blackshtef
blackshtef je offline   Odgovorite uz citat