Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:1f7:d82:2de...–

peter
JavaScript, AJAX, jQuery › Spuštění skriptu přes JavaSk…
26. 9. 2014   #194275

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/#…

peter
JavaScript, AJAX, jQuery › vyselektování jednoho celect…
26. 9. 2014   #194274

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);

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý