Autor | Zpráva | ||
---|---|---|---|
loulie Profil |
#1 · Zasláno: 30. 3. 2010, 16:17:04
Dobrý den, chtěl bych udělat, abych mohl určit, do jaké tabulky se má obsah odeslat. Uvedu příklad...
Mám <select> formulář. Napíšu nějaký obsah, poté vyberu určitou "skupinu" ze select formuláře a dám odeslat. Obsah se odešle do kategorie, která byla zvolena v <select>. Konkrétně: <option value="clanky">Hlavní</option> <option value="clhry">Hry</option> <option value="clfavourite">Zajímavosti</option> Dále mám příkaz pro zapsání do Databáze clanky. Ale potřeubji, aby když zvolím třeba clhry, aby se to zapsalo do clhry. Za případné odpovědi děkuji :-) |
||
Joker Profil |
#2 · Zasláno: 30. 3. 2010, 16:23:32
loulie:
„Mám <select> formulář.“ To není formulář, ale jen formulářový prvek. Formulář je celý "kontejner" takových prvků. Dělá se to tak, že prvku dáte jméno a kód po odeslání formuláře (tj. to co je v atributu action značky <form>) si pak ten prvek převezme a zjistí jeho hodnotu. |
||
loulie Profil |
#3 · Zasláno: 30. 3. 2010, 16:30:30 · Upravil/a: loulie
Ehm, to je na mou hlavu kapek těžký, chápu to správně? =>
<select name="kategorie"> <option value="clanky">Hlavní</option> <option value="clhry">Hry</option> <option value="clfavourite">Zajímavosti</option> </select> A potom musím napsat "nějak" kod, který odešle obsah do určené DB, jsem schopnej to sepsat na jednu kategorii, ale na víc ne. Přemýšlel jsem i o řešení, že bych měl na každou kategorii zvlášt formulář, ale to by jich pak bylo moc a byl by v tom nepořádek. Prostě to co nevím, je jak napsat "kontrolu / podmínku", která zjistí, co je vybráno a odešle to do vybrané kategorie. |
||
Joker Profil |
#4 · Zasláno: 30. 3. 2010, 17:08:07
loulie:
„jsem schopnej to sepsat na jednu kategorii, ale na víc ne“ Mno, jestli jste schopný v daném serverovém jazyce naprogramovat uložení do databáze, snad alespoň ty nejzákladnější znalosti máte. A mezi nejzákladnější znalosti bych řadil i schopnost napsat jednoduchou podmínku (Pokud hodnota kategorie je "clanky",...), ideálně i konstrukci typu switch-case v daném jazyce. Takže kde přesně je problém? |
||
loulie Profil |
#5 · Zasláno: 30. 3. 2010, 17:27:01
Tak teď jste mi vyrazil dech, tu podmínku budu psát asi pomocí if ne? A o nějaké switch-case, se přiznám, nemám ani páru
|
||
panther Profil |
#6 · Zasláno: 30. 3. 2010, 17:49:29
loulie:
„tu podmínku budu psát asi pomocí if ne?“ ano. „A o nějaké switch-case, se přiznám, nemám ani páru“ tak studuj, hledej. Nebo manuál nefunguje? |
||
loulie Profil |
#7 · Zasláno: 30. 3. 2010, 17:55:42 · Upravil/a: loulie
panther:
„tak studuj, hledej. Nebo manuál nefunguje?“ Moje angličtina není moc na úrovni, jsem žákem 8 třídy (co si budeme povídat), jistě existuje Google překladač, ale ta kvalita. Jinak, kouknu na to if, vím že sem už jednou takovou podminku psal, jenom si nejsem jistej, kde a proč :-P Nemohlo by to být nějak takto? Konkrétně k mému kódu... if ($kategorie="clhry"){ $editor1=$_POST['editor1']; $cara=$_POST['cara']; mysql_query("INSERT INTO clhry (....) VALUES (....)"); echo mysql_error(); } |
||
loulie Profil |
#8 · Zasláno: 30. 3. 2010, 18:48:06 · Upravil/a: loulie
Už to funguje :-) Ale objevil se další problém - I když je zvolená kategorie např. clanky, tak se to odešle do všech
|
||
panther Profil |
#9 · Zasláno: 30. 3. 2010, 19:02:54
if ($kategorie=="clhry") porovnává se dvěma rovnítky, jedním se přiřazuje. Pokud se proměnná kategorie bere z formuláře, používej $_POST['kategorie'], resp. $_GET['kategorie']. |
||
loulie Profil |
#10 · Zasláno: 30. 3. 2010, 19:11:21 · Upravil/a: loulie
Tak teď jsem úplně vedle, nemohl by jste mi to prosím napsat?
Popřípadě okomentovat tento kód: include('pripojeni.php'); if(isset($_POST['odeslat'])) { if (!empty($_POST['editor1'])) { $kategorie=$_POST['clanky'] $editor1=$_POST['editor1']; $cara=$_POST['cara']; mysql_query("INSERT INTO clanky (time, editor1, cara) VALUES (NOW(),'".($_POST['editor1'])."', '".($_POST['cara'])."')"); echo mysql_error(); } } |
||
Joker Profil |
#11 · Zasláno: 30. 3. 2010, 19:39:47
loulie:
„Moje angličtina není moc na úrovni, jsem žákem 8 třídy (co si budeme povídat)“ Tak bych si sehnal nějakou knížku pro programátorské začátečníky, tohle se bude v programování hodit obecně, všechny (dobře navržené) strukturované programy se skládají jen ze tří programovacích struktur: posloupnost (sekvence), podmínka/větvení (selekce) a cyklus (iterace), takže tímhle je dobré začít :-) Pokud jde o konstrukci switch-case, tak to je vpodstatě taková zkratka pro situaci, kdy mám nějakou proměnnou, ta může mít více hodnot a pro jednotlivé hodnoty chci provádět různé operace. Jde to samozřejmě napsat i řadou příkazů if - elseif - else, ale switch-case je přehlednější a kratší. Příklad: if($promenna == 1) { /* kód pro první podmínku */} elseif($promenna == 2) { /* kód pro druhou podmínku */} elseif($promenna == 3) { /* kód pro třetí podmínku */} else { /* kód pokud není splněna žádná z podmínek */} se dá přes switch-case napsat takto: switch($promenna) { case 1: /* kód pro první podmínku */ break; case 2: /* kód pro druhou podmínku */ break; case 3: /* kód pro třetí podmínku */ break; default: /* kód pokud není splněna žádná z podmínek */ } |
||
loulie Profil |
#12 · Zasláno: 30. 3. 2010, 19:48:37
Ahaa... takže bych to měl napsat následovně?:
if($kategorie == clanky) { if(isset($_POST['odeslat'])) { if (!empty($_POST['editor1'])) { $kategorie=$_POST['clanky'] $editor1=$_POST['editor1']; $cara=$_POST['cara']; mysql_query("INSERT INTO clanky (time, editor1, cara) VALUES (NOW(),'".($_POST['editor1'])."', '".($_POST['cara'])."')"); echo mysql_error(); } } } elseif($kategorie == clhry) { ....} elseif($promenna == clfavourite) { ....} else { ....} |
||
Časová prodleva: 14 let
|
0