|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
15. 04. 2010. | #1 |
profesionalac
Qualified
|
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 />"; } } ?> 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 />"; } Kôd:
zupanije( zupanija_id INTEGER, naziv VARCHAR(50), sjediste VARCHAR(50)); 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 />"; } 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', '..'),
__________________
I, blackshtef |
15. 04. 2010. | #2 |
majstor
Wrote a book
|
A za iscitavanje:
Kôd:
SELECT * FROM korisnici, zupanije WHERE korisnici.zupanija = zupanije.id |
15. 04. 2010. | #3 |
profesionalac
Qualified
Datum učlanjenja: 19.05.2007
Poruke: 123
Hvala: 13
3 "Hvala" u 3 poruka
|
Iskreno, kod je bas pocetnici i ima dosta greska u logici i dizajnu.
Bez da krenes od pocetka, evo par smjernica. PHP kôd:
EDIT: pretece me misk0 |
23. 04. 2010. | #4 |
novi član
Datum učlanjenja: 23.04.2010
Lokacija: Novi Sad
Poruke: 1
Hvala: 0
0 "Hvala" u 0 poruka
|
Aj sad da ne ulazim u zupanije i ostalo..Ali kako bi sve vrednosti strpao u jedan niz po meni najlakse da van forme postavis te checkboxove, daš im neku klasu recimo
Kôd:
<input type="checkbox" name="hrana[]" value="1" class="hrana"/><label>lazanje</label> <input type="checkbox" name="hrana[]" value="2" class="hrana"/><label>pizza</label> <input type="checkbox" name="hrana[]" value="3" class="hrana"/><label>cevapi</label> U glavnoj formi postavis jedno hidden polje i daš mu ID naprimer: Kôd:
<input type="hidden" name="hrananiz" value="" id="nizHrane"/> Evo ti primer kako da sve to pokupis sa jQuery skripticom Kôd:
$('.hrana').click(function() { var selektovaneOpcije = new Array(); $("input:checkbox[name='hrana[]']:checked").each(function() {selektovaneOpcije.push($(this).val());}); var ceoniz = selektovaneOpcije.join('|'); //i onda pokupis niz u hidden polje $("#nizHrane").val(ceoniz); }); Sa druge strane ako neces javascriptom, onda iste te checkboxove nazvane hrana[] procesuiraš tako što se već salju kao array. i onda klasika foreach( bla bla truć.... Za ime županije si već dobio odgovor, JOIN tabelu sa zupanijama i uzmi ime pa ga prenesi gde ti treba. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
'multiple' ispis iz baze | eclipse | Sva početnička pitanja | 13 | 16. 12. 2010. 01:26 |
Upload fotke i automatski upis URLa u bazu | ljtruba | Sva početnička pitanja | 3 | 09. 11. 2009. 22:45 |
Upis brojcanih vrednosti sa zarezom i tackom u MySQL | martinluter | SQL baze podataka - Sponzor: Baze-Podataka.net | 3 | 19. 05. 2009. 23:21 |
Entity Framework - Upis kod m-n relacije | Marko Medojevic | Programiranje | 0 | 20. 02. 2009. 22:21 |
Kako najbolje izvesti ispis iz goleme baze | staseprimate | Sva početnička pitanja | 10 | 30. 12. 2007. 00:26 |