Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Ispis odabranih checkboxova i upis u bazu

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
blackshtef
mi3.crew


Joined: 13 Sep 2003
Posts: 661

PostPosted: 14.04.2010 18:39    Post subject: Ispis odabranih checkboxova i upis u bazu Add user to your forum ignore list Reply with quote

Eh, idemo malo PHP-a opet Smile

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.
Code:
         <?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.
Code:
//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:
Code:
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 :/
Code:

            //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.
Code:
`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? Smile
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group