Podivej, dotaz mas polozeny ta, ze potrebujes tahat data ze serveru a ted rikas, ze data tahat nechces, ze bys musel byt pripojeny. Jak to teda je?
Tvuj pc dokaze samozrejme kesovat. Jenze requesty se kesuji dost spatne, vetsinou jsou nastavene tak, ze vubec.
jestli to teda potrebujes osetrit, tak si to vyres v js, ne? To je takovy problem udelat si pole a do nej ta data ukladat? V podmince pak das existuje index pole a neni obsah prazdny? Ano, pouzij, ne, zkus nacist ze serveru a pak pouzij.
if (arr && arr[5]) {zobraz(5);} else {stahuj_a_zobraz(5);}
A nebo si to proste vsechno stahni uz na zacatku do stranky i bez ajaxu do stranky, viz treba tady ty selekty:
http://programujte.com/…ym-selectem/#…
Příspěvky odeslané z IP adresy 2001:718:2601:1f7:d82:2de...–
peter
peter
Zkousel jsi hledat googlem: example jquery double select?
Je tam jquery nemam, pouze primy vstup. Ten se v php dela pres prikaz echo. Formatovane to mam tak, ze (ale to z kodu pozna i zacatecnik)
data = "a,b,c;\ // select 1: value=0 text='a', value=1 text = 'b' ...
A,B,C;\ // select 2 pro value=0 selectu 1: value=0 text='A', value=1 text = 'B' ...
D,E,F;\ // select 2 pro value=1 selectu 1: value=0 text='D', value=1 text = 'E' ...
G,H,I" // select 2 pro value=2 selectu 1: value=0 text='G', value=1 text = 'H' ...
.split(';');
// coz jednoduchym proklikanim snadno zjistis
Dale je to formatovane tak, ze data jsou odelena carkou. Selecty mezi sebou
strednikem. Zpetne lomitko \ na konci radku tam vyzaduje javasript pri viceradkove
stringy (v php kodu by nebylo). Pro JS to vypada tedy takto a klidne to tak muzes
napsat, ja si to jen odradkoval:
data = "a,b,c;A,B,C;D,E,F;G,H,I";
Takze to rozsekam do pole pomoci data.split(';') , dostanes z toho pro js toto
(opet to muzes klidne takto napsat uz od zacatku)
data = ["a,b,c", "A,B,C", "D,E,F", "G,H,I"];
A pak z toho cyklem prochazim vsechny polozky pole data, vyberu treba prvni,
rozsekam ji na dalsi pole. (opet to klidne tak muzes vypsat uz z php)
data = [["a","b","c"], ["A","B",C"], ["D","E","F"], ["G","H","I"]];
Takze pak si muzes zobrazit jednotlive selecty nebo hodnoty:
alert(data[0]) // sel 1
alert(data[0][0]) // sel 1 hodnota 1
Z sql si to muzes zformatovat primo do jednoho z tech tvaru, ale bude to trosku sloziteji napsany dotaz pres ruzne GROUP_CONCAT a nejspis i LEFT JOINy, UNION a pod. Pak by se to do stranky vypsalo jako
$query = "SELECT ..."; //slozitejsi dotaz, ktery z toho vyrobi jednu hodnotu jednoho radku
$res = mysql_query($query) or die(mysql_error());
// 1
while ($row = mysql_fetch_array($res))
{
foreach ($row as $value)
{echo "data = \"$value\".split(';');";}
}
// 1
// vlastne by sla asi cela ta cast mezi jednickami nahradit nejspis pres
// mysql_fetch_field, protoze mas 1 pole, ale ty cykly jsou mozna lepsi, ze to pri
chybe vypis treba vsechny radky a sloupce, coz se da pak krasne detekovat pres
prohlizec - zobrazit zdrojovy kod stranky
mysql_fetch_field($res, 0);