Autor | Zpráva | ||
---|---|---|---|
Jack06 Profil |
#1 · Zasláno: 27. 12. 2008, 10:46:33
Dobrý den chtěl bych poprosit o radu. Mám formulář, ze kterého dostávám data do MySql, ale potřebuji následující věc a nevím jak na ni.
Ve formuláři mám výběr select a pak 18 x option které jsou např: <select name="posty"> <option value="důstojník">důstojník</option> <option value="kapitán">kapitán</option> <option value="velitel">velitel</option> <option value="vojín">vojín</option> ....a další </select> A potřebuju aby když si někdo vybere vojína, aby si ho již nikdo další vybrat nemohl, což znamená nějaká podmínka asi na mysql ne.?? Děkuji za rady |
||
Jan Tvrdík Profil |
#2 · Zasláno: 27. 12. 2008, 10:54:02 · Upravil/a: Jan Tvrdík
Jack06
Předpokládejme, že v PHP existuje pole všech dostupných možností získaných z DB ($poleVsechMoznosti). Dále existuje pole všech už vybraných možností ($poleVybranych). foreach ($poleVsechMoznosti as $moznost) { if (in_array($moznost, $poleVybranych)) continue; echo "<option value=\"$moznost\">$moznost</option>\n"; } Ale je možné to řešit i na úrovni MySQL s použitím NOT IN. |
||
Jack06 Profil |
#3 · Zasláno: 27. 12. 2008, 14:31:06
aha takže do $pole všech možností naházím všech 19 postů a z mysql vytáhnu které posty tam jsou do $poleVybraných a z toho se mi vypíše $možnost a to budou ty co ještě nejsou v mysql jest tak??
|
||
Jack06 Profil |
#4 · Zasláno: 27. 12. 2008, 15:38:17
Takto mi to nefunguej pls help:
$poleVsechMoznosti = array ("Elfština", "Drahé kameny", "Přeměňování"); mysql_query("SET CHARACTER SET utf8"); $dotaz=mysql_query("SELECT * FROM profesori"); while($vysledek = mysql_fetch_array($dotaz)): $poleVybranych = array($vysledek['predmet']); foreach ($poleVsechMoznosti as $moznost) { if (in_array($moznost, $poleVybranych)) continue; echo "<option value=\"$moznost\">$moznost</option>\n"; } endwhile; |
||
Mastodont Profil |
#5 · Zasláno: 27. 12. 2008, 15:41:26
$poleVybranych = array($vysledek['predmet']); To ti nevybere všechny předměty, ale jen jeden, protože mysql_fetch_array načítá vždy jen jeden řádek. |
||
Jan Tvrdík Profil |
#6 · Zasláno: 27. 12. 2008, 15:41:48 · Upravil/a: Jan Tvrdík
Nejsem si jist, zda to zcela chápu, ale zkus tohle:
$poleVsechMoznosti = array ("Elfština", "Drahé kameny", "Přeměňování"); $poleVybranych = array(); mysql_query("SET CHARACTER SET utf8"); $dotaz = mysql_query("SELECT * FROM profesori"); while($vysledek = mysql_fetch_array($dotaz)) { $poleVybranych[]= $vysledek['predmet']; } foreach ($poleVsechMoznosti as $moznost) { if (in_array($moznost, $poleVybranych)) continue; echo "<option value=\"$moznost\">$moznost</option>\n"; } |
||
Jack06 Profil |
#7 · Zasláno: 28. 12. 2008, 21:41:04
Ano děkuji to by mohlo být ono
|
||
Časová prodleva: 15 let
|
0