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:913d:d2...–

peter
JavaScript, AJAX, jQuery › Kategoria - AJAX
12. 1. 2015   #198020

Jeste je tu moznost to komprimovat. Odhadem jsem si ted pronasobil 800 x 5 mest x 10 kraju, coz je kolem 50k.
Gzip algoritmus text umi pekne komprimovat, zhruba 10-20%. Nicmene, moderni prohlizece pouzivaji gzip automaticky a komprimuje si to uz server. Takze by dalsi kod mozna nebyl nutny.
http://stackoverflow.com/…tion-of-gzip

peter
JavaScript, AJAX, jQuery › Kategoria - AJAX
12. 1. 2015   #198017

http://www.statnisprava.cz/rstsp/ciselniky.nsf/i/CZ0805

Tohle reseni neobsahuje cisla id danych polozek. Kdyz treba neco pridas mezi nektere mesta, tak to musis cele precislovat. Coz se samozrejme muze kesovat a tahat z db a pak to bude ok. Ale nebudou platne stare formulare, kde budou stare id. Proto je lepsi tam od zacatku davat id z databaze. Ale zase tohle muze byt usporne reseni. Navic to muzes rozsekat do pole cyklem z jednoho velkeho rezezce.
Opava ma 800b. + 200b kraje a okresy. Obrazky s reklamou, co mas na strance maji kolem 10-20k kazdy. Navic se to da naincludovat, kesovat, script zvlast, data zvlast. Coz s generovanim primo s db je trosku slozitejsi.

<div id="xxx0"></div>
<div id="xxx1"></div>
<div id="xxx2"></div>

<script>
var data;
data = {
0: "Hlavní město Praha;Jihočeský kraj;Jihomoravský kraj;Karlovarský kraj;Kraj Vysočina;Královéhradecký kraj;Liberecký kraj;***Moravskoslezský kraj;***Olomoucký kraj;Pardubický kraj;Plzeňský kraj;Středočeský kraj;Ústecký kraj;Zlínský kraj",
1: {7: "Bruntál;Frýdek-Místek;Karviná;Nový Jičín;***Opava;***Ostrava-město",
    8: "***Jeseník;Olomouc;Prostějov..."
   },
2: {7: {4: "Hlučín;Kravaře;Opava;Vítkov;Bělá;Bohuslavice;Bolatice;Branka u Opavy;Bratříkovice;Brumovice;Březová;Budišov nad Budišovkou;Budišovice;Čermná ve Slezsku;Darkovice;Děhylov;Dobroslavice;Dolní Benešov;Dolní Životice;Hať;Háj ve Slezsku;Hlavnice;Hlubočec;Hněvošice;Holasovice;Hrabyně;Hradec nad Moravicí;Chlebičov;Chuchelná;Chvalíkovice;Jakartovice;Jezdkovice;Kobeřice;Kozmice;Kružberk;Kyjovice;Lhotka u Litultovic;Litultovice;Ludgeřovice;Markvartovice;Melč;Mikolajice;Mladecko;Mokré Lazce;Moravice;Neplachovice;Nové Lublice;Nové Sedlice;Oldřišov;Otice;Píšť;Pustá Polom;Radkov;Raduň;Rohov;Skřipov;Slavkov;Služovice;Sosnová;Staré Těchanovice;Stěbořice;Strahovice;Sudice;Svatoňovice;Šilheřovice;Štáblovice;Štěpánkovice;Štítina;Těškovice;Třebom;Uhlířov;Velké Heraltice;Velké Hoštice;Větřkovice;Vršovice;Vřesina;Závada",
        5: "ostrava1,os2,os3"
       },
    8: {0: "Jeseník;Javorník;Zlaté Hory..."
       }
   }
};

function multiselWrite(name,cat)	//,data
{
var i, j, arr, el, cat2, str, del,divname;
del  = ';';
cat2 = ((''+cat).indexOf(del)>0) ? cat.split(del) : [cat];
j    = cat2.length;
divname = name + (j - 1);
el   = document.getElementById(divname);
arr = data;
if (arr[j-1])
  arr = arr[j-1];
else return;
if (j>1)
{
for (i=1;i<j;i++)
	{
	if (arr[cat2[i]])
		{
		arr = arr[cat2[i]];
		}
	else	{
		return;
		}
	}
}
if (el)
  {
  str = '';
  arr = arr.split(";");
    str += "\n"+'<option value="'+(cat2.join(del))+'"> --- <\/option>';
  for(i=0;i<arr.length;i++)
    {
    cat2[j] = i;
    str += "\n"+'<option value="'+(cat2.join(del))+'">'+arr[i]+'<\/option>';
    }
  el.innerHTML = "\n"+'<select onchange="multiselRoll(this);" name="sel_' + divname + '">' + str + '<\/select>';
  }
}

function multiselRoll(el)
{
var m,n;
m = el.parentNode.id;
m = m.replace(/[^a-zA-Z]+/g,'');
n = el.options[el.selectedIndex].value;
multiselWrite(m,n);
}

function init()
{
multiselWrite('xxx','0');
multiselWrite('xxx','0;7');
multiselWrite('xxx','0;7;4');
}

init();
</script>

Nebo jsem v nejakem jinem foru pouzil fohle reseni, ktere vyzaduje vetsi zasahy.

<div id="sel0"></div>
<div id="sel1"></div>

<script>
var data, i;
data = "a,b,c;\
A,B,C;\
D,E,F;\
G,H,I".split(';');

function writeSel(m,n)
{
var i, str, el2;
el2 = document.getElementById('sel'+m);
if (el2 && data[n])
  {
  str = '';
  for(i=0;i<data[n].length;i++)
    {str += "\n"+'<option value="'+i+'">'+data[n][i]+'<\/option>';}
  el2.innerHTML = "\n"+'<select onchange="roll(this);">' + str + '<\/select>';
  }
}

function roll(el1)
{
var m,n;
m = el1.parentNode.id;
m = m.replace(/\D+/,'') * 1 + 1;
n = el1.options[el1.selectedIndex].value * 1 + 1;
writeSel(m,n);
}

function init()
{
for(i=0;i<data.length;i++)
  {data[i] = data[i].split(',');}
writeSel(0,0);
writeSel(1,1);
}

init();
</script>


"nejakú jednoduchú ukážku na funkciu"
Taky by to mohl nekdo pochopit, ze misto rady chces hotove reseni. Zadarmo. Bez premysleni a snahy. :)

peter
JavaScript, AJAX, jQuery › Kategoria - AJAX
12. 1. 2015   #198014

google = ajax triple select example
google = ajax multiple select example
http://coursesweb.net/…-list-ajax_t
- ctrl + f = Here's the result (v podstate na konci clanku)
- na zacatku pak mas stahnuti celeho scriptu "download the files from: Script Multiple Select Dropdown List"
Mozna by bylo nejjednodussi si to pri nacteni stranky ulozit jako tabulku do js a pak to z ni vytahnes. Pripadne si to uloz jako tabulku s id, s odkazem na seznam. Tahat to ajaxem mi prijde dost krkolomne. Stranka ma treba 20k, ta tabulka bude mit dalsich 5-10k. To zas neni takova hruza.

peter
PHP › import suborov do databazy
12. 1. 2015   #198013
peter
Matematika › Faktoriál-příklad, prodím o…
12. 1. 2015   #198011

(10 - 17 * n)  /  (n + 1)! +  4 / (n - 1)!
(n+1)! = (n+1) * n * (n-1)! dosadis a roznasobis
1 / (n+1)! * ( (10-17*n) + 4 * n * (n+1) )
1 / (n+1)! * ( 4 * n * n - 13 * n + 10)
no, a ted bud dosadis za n a nebo se pokusis ziskat nejak koreny. Jenze koreny mozna k nicemu nepovedou, protoze se nebudou dat podelit (n+1)! Aspon podle tech cisel to tak nevypada. Take si myslim, ze jde jen o zjednoduseni.

Vypada to jako klasicka uloha, co ma vzadu jiny vysledek, nez skutecne vyjde. Vzdycky jsem premyslel, zda je spravne mit v ucebnici zamernou chybu, aby naucila zaky nespolehat na vysledky jinych a nebo je to chyba, pac takova knizka je nespolehliva a nelze z ni tedy vychazet, kdyz musis kazdy vysledek overovat a nemuzes duverovat predchozim overenym poznatkum.

b * b - 4 * a * c = 13 * 13 - 4 * 4 * 10 = 169 - 160 = 9
n12 = (-b +- odm(9)) / (2 * a)
n1 = 13 + 3 / (2 * 4) = 18 / 2 = 2
n2 = 13 - 3 / (2 * 4) = 10 / 8 = 5/4
je mi teda divne, ze mi to vyslo kladne, kdyz tam jsou zaporna cisla :)
4 * (n+2) * (n+5/4) nebo mozna spis
4 * (n-2) * (n-5/4)

(n+1)! sice lze rozepsat jako (n+1) * n * (n-1) * (n-2) * (n-3)! a pak n-2 pokratit, ale neprijde mi to ucelne ve smyslu zjednoduseni.
Nemas tam za celou tou rovnici jeste =0 ? Protoze to by zcela menilo situaci.
Faktorial tusim nejde delat se zapornych cisel. Tudiz
pro (n - 1)! plati, ze n-1 > 0, n > 1
pro (n + 1)! plati, ze n+1 > 0, n > -1 ... coz splnuje predchozi podminka
pro 4 * (n-2) * (n-5/4) / (n + 1) = 0 plati, ze
n-2 = 0
n-5/4 = 0 .. cili ty koreny, klasika
(n + 1)! <> 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ý