Autor Zpráva
zdenek
Profil
ahoj, chtěl bych se zeptat, jak lze přefiltrovat data, podle zadaného názvu. když budu mít pod 1234 uloženo třeba abcd, tak aby to fungovalo takto:
<select>
<option name=1234>1234</option></select>
a když to navolí, tak se zobrazí:
<select>
<option name=abcd>abcd</option>
jde to? předem díky

EDIT: pozn. data tahané z databáze
puzzle
Profil
zkus upřesnit co přesně chceš provést

V tom druhém ti chybí uzavřít select

<select>
<option name=abcd>abcd</option>
</select>
zdenek
Profil
puzzle:

budu mít data v databázi a k nim patřičné doplňující údaje. (třeba úrad a k tomu práce, sociálních věcí atd.), a když se navolí úřad, tak se zobrazí i ten PRÁCE atd. chápeš?
puzzle
Profil
chceš vyhledávat (prohlížet) nebo zadávat data do databáze?

Ale obecně se data z option dostávají třeba takto. odešleš si je přes formulář
a porovnáš třeba:

if ($_POST['abcd']==abcd){//to co to má udělat}
Tori
Profil
zdenek:
To by patřilo spíš do kategorie JavaScript: dva spojené <select>y, kde se možnosti ve druhém mění podle aktuální hodnoty prvního <select>u.
Optgroup předpokládám není pro váš případ vhodná?
zdenek
Profil
Tori:

a jak by to vypadalo v javascriptu?
Tori
Profil
V tomto vlákně je spousta odkazů.
zdenek
Profil
Tori:

tento odkaz se mi líbí, ale jdou tam nějak nastavit hodnoty z mysql?
Tori
Profil
Ano, oba dva <select>y se (v PHP) vytvoří podle dat z databáze, není to těžké.
zdenek
Profil
Tori:

jak?
Tori
Profil
A jaká data dostanete z databáze? Jak je máte rozdělené na kategorie/podkategorie? Nemohu poradit, nevím-li s čím přesně.
zdenek
Profil
Tori:

představoval bych si to asi takhle:

tabulka: Česká republika
----------------------------------------
Středočeský kraj
Liberecký kraj
Praha
.
.
.

a po tom, co by se navolila Česká republika

<select >
<option value="Czech">Česká republika</option>
<option value="Eng">Anglie</option>
</select>


tak by se objevilo:

<select >
<option value="Praha">Praha</option>
<option value="Liberec">Liberecký kraj</option>
</select>


chápeš?
panther
Profil
zdenek:
zdá se mi, že chceš dostat kompletní řešení a nemáš o ničem z uvedeného ani páru, nebo se chceš snažit sám a máš již něco udělaného?

Dle „představoval bych si to tak a tak“ a podobným bych to tipoval spíš na první možnost. A pochybuji, že ti tu někdo tohle celé bude psát. Doporučoval bych tedy začít studovat - PHP, práci s DB a základy JS. Případně to vlož jako zakázku, někdo se jistě najde.

Pokud již něco umíš a chceš se výsledku s místní pomocí dobrat sám, ukaž, co máš a kde konkrétně máš problém.
zdenek
Profil
panther:

něco málo už umím, ale nevím, jak spojit php a javascript
panther
Profil
zdenek:
výborně, konečně první konkrétní dotaz.

Pokud potřebuješ naplnit selecty daty z DB a pracovat pak s nimi dále JavaScriptem (propojené selecty, atp.), je to prosté. Jako první se na serveru provede PHP a naplnění selectů možnostmi, pak s nimi můžeš dál pracovat s JavaScriptem (stejně, jako kdyby tam žádné PHP nebylo... to už tam v té době, kdy se k moci dostane JS stejně nebude, bude dávno vykonané).
Pokud chceš odesílat data JavaScriptem na server, pak hledej AJAX.
zdenek
Profil
panther:

cože? můžeš to prosím vysvětlovat jednodušeji? omlouvám se, jestli to zní hrubě, ale já jsem z toho nepochopil ani slovo. ale možná to bude proto, že jsem úplně blbej. takže, jak by to prosím vypadalo? jenom nějkaej příklad, abych si to dokázal představit.
panther
Profil
zdenek:
ad 1) vytáhneš data z DB, v cyklu je přiřadíš do selectů (tím vzniknou dynamicky <select>y, stejně, jako bys je měl statické v HTML). Jejich vzájemné propojení (tedy na základě vybrané položky v jednom se zobrazí položky ve druhém) pak bude mít na starost JS (už tě na o řešení odkazoval někdo přede výše. Toto řešení je i na JPW).

tzn.
- potřebuješ umět vytáhnout (a přetím zapsat) data do DB (select, insert) - nastuduj si základy SQL
- potřebuješ umět tato data zpracovat a vypsat - mysql_fetch_assoc fce, while, echo.

ad 2) AJAX, na tom není nic moc co více rozepisovat - studuj.


Více k tomu napsat nelze - snad jen kompletní řešení. Příklady najdeš v PHP manuálu, MySQL manuálu a JPW.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0