| Autor | Zpráva | ||
|---|---|---|---|
| mickey76 Profil * |
#1 · Zasláno: 17. 3. 2006, 13:08:09
select nebo input???
Ahoj, potrebuji vyresit jeden problem, ktery se pokusim pochopilne napsat. Mam formular, ktery obsahuje select a input jedna hodnota bud z select nebo z input mela ulozit do databaze, pokud jiz v teto databazi neni ulozena, takze do select se nacitaji a vybiraji jiz ulozene hodnoty a input slouzi POUZE pro pridani noveho hodnoty, ktera jeste neni v databazi. A pokusim se to jeste nazorne vysvetlit, v select byla zvolena hodnota "Magic Box" a input tudiz obsahuje hodnutu NULL, takze hodnota v select se ulozi do databaze, ale uz do jine tabulky, ale v pripade ze select obsahuje NULL a input obsahuje Bonton, tak v tomto pripade bych potreboval, aby se hodnota z input t.j. Bonton ulozila do dvou tabulek v databazi, t.j. do tabulky "polozky" a do tabulku "distribuce". Nejedna se me o hlidani duplicity, protoze tu si ohlidam ja sam, pokud nebude hodnota v select, tak a tu chybejici hodnotu zadam pres input. Jak to ulozit take vim, ale proste nevim, jak to osetrit. <tr> <td> Distribuce:</strong></td> <td colspan="5"><select style="width:200" name="Distribuce1"><?echo distribuce ($row["Distribuce"])?></select><strong> nebo </strong><input type="text" style="width:189" name="Distribuce2" value="<?echo $row["Distribuce"]?>"></td> </tr> Predem dekuji za pomoc. Tomas |
||
| WertriK Profil * |
#2 · Zasláno: 17. 3. 2006, 16:23:37
Cetl jsem to 2x a asi je to jeste malo, protoze vubec nevim co to chcete osetrit ...
|
||
| WanTo Profil |
#3 · Zasláno: 17. 3. 2006, 16:29:46
Jestli jsem to správně pochopil, měl by sis ověřit, jestli je v databázi hodnota z INPUTu. To uděláš obyčejným SELECT dotazem s WHERE. Když ti mysql_num_rows() vrátí víc než nula, hodnota tam už je.
|
||
| mickey76 Profil * |
#4 · Zasláno: 17. 3. 2006, 17:09:12
Upresneni dotazu
// timto kodem nacitam hodnoty, ktere jsou jiz v databazi ulozeny a nacitam je do selectu, tj. $Distribuce1 function distribuce ($zvoleno){ $result=mysql_query("select * from distribuce_movie order by ID"); while ($row=mysql_fetch_array($result)): if ($row["Distribuce"]==$zvoleno) $options.="<option value=\"".$row["Distribuce"]."\" selected>".$row["Distribuce"]."</option>\n"; else $options.="<option value=\"".$row["Distribuce"]."\">".$row["Distribuce"]."</option>\n"; endwhile; return $options; } Ted zjistim, ze v selectu neni treba hodnota "neco", takze potrebuji to "neco" vyplnim do inputu to t.j. $Distribuce2, abych tuto novou hodnotu ulozil do databaze. Proste nejake osetreni na tento zpusob: $Distribuce1 = NULL ulozi se promenna $Distribuce2 a naopak $Distribuce2 = NULL ulozi se promenna $Distribuce1 . |
||
| WertriK Profil * |
#5 · Zasláno: 17. 3. 2006, 19:35:14
if(empty($distribuce1) {
$zapis = $distribuce2; } if(empty($distribuce2) { $zapis = $distribuce1; } a jeste to chce osefovat, kdyz by zadal do inputu jmeno ktere uz existuje v db [ treba by se prehlidl a v selectu by ta polozka byla ] |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0