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:7092:30...–

peter
MySQL › Vytvorenie tabuľky tímov
9. 4. 2015   #201205

#1248 - Every derived table must have its own alias
Tabulka vytvorena ze selectu musi mit alias to je ten kod na konci

) as x

a tez jsem tam zrusil tusim grupovani podle nazvu.

peter
MySQL › Vytvorenie tabuľky tímov
9. 4. 2015   #201204

Par chyb s phpmyadmina

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--prva tabulka na vitazstva doma  
    FROM (
        SELECT c.id,c.name, COUNT(name) ' at line 5
za -- se dava mezera

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as b
)
GROUP BY team_id,nazov
LIMIT 0, 25
tabulka se aliasuje bez AS, coz je trochu zmatene, ze sloupce to zas mit musi, ale co uz. Navic, pro union nemusis davat tabulkam aliasy., takze ani a ani b tam byt nemusi

SELECT team_id,nazov,SUM(body_doma) + SUM(body_vonku) as body
FROM
(
	(
	SELECT  id as team_id,name as nazov, body_doma	, 0 as body_vonku			-- prva tabulka na vitazstva doma  
	FROM 
		(
		SELECT c.id_club as id,c.name, COUNT(name) * 3 as body_doma
		FROM kent_club c
		JOIN kent_result r ON r.id_home = c.id_club
		WHERE r.goal_home > r.goal_away 
		GROUP BY c.id_club
		) as vit_doma
	)
UNION ALL
	(
	SELECT id as team_id, team_name as nazov, 0 as body_doma, body_vonku 
	FROM
		(
		SELECT c.id_club as id,c.name as team_name, COUNT(name) * 3 as body_vonku
		FROM kent_club c
		JOIN kent_result r ON r.id_away = c.id_club
		WHERE goal_home < goal_away
		GROUP BY c.id_club
		) as vit_vonku
	)
) as x
GROUP BY team_id,nazov

-- bys mohl taky poslat sql prikazy pro vytvoreni tabulek... Pac bez tabulek se neda sql dotaz spustit v phpmyadmin
CREATE TABLE IF NOT EXISTS `kent_league` (
  `id_league` int(11) NOT NULL AUTO_INCREMENT,
  `name` text COLLATE utf8_czech_ci DEFAULT NULL,
  PRIMARY KEY (`id_league`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

CREATE TABLE IF NOT EXISTS `kent_result` (
  `id_result` int(11) NOT NULL AUTO_INCREMENT,
  `id_league` int(11) DEFAULT NULL,
  `id_home` int(11) DEFAULT NULL,
  `id_away` int(11) DEFAULT NULL,
  `goal_home` int(11) DEFAULT NULL,
  `goal_away` int(11) DEFAULT NULL,
  PRIMARY KEY (`id_result`),
  KEY `id_league` (`id_league`),
  KEY `id_home` (`id_home`),
  KEY `id_away` (`id_away`),
  KEY `goal_home` (`goal_home`),
  KEY `goal_away` (`goal_away`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

CREATE TABLE IF NOT EXISTS `kent_club` (
  `id_club` int(11) NOT NULL AUTO_INCREMENT,
  `id_league` int(11) DEFAULT NULL,
  `name` text COLLATE utf8_czech_ci DEFAULT NULL,
  `manager` text COLLATE utf8_czech_ci DEFAULT NULL,
  `state` text COLLATE utf8_czech_ci DEFAULT NULL,
  PRIMARY KEY (`id_club`),
  KEY `id_league` (`id_league`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;


peter
Inzerce › soutěž o IT projekt
9. 4. 2015   #201203

Doporucuji byt opatrny, komu sverujete napady a kolik z nich. Muze je sam pouzit bez vas.
Ale taky je dobre zhruba nacrtnout, o co by se jednalo, typ produktu, treba na prikladu neceho jiz znameho. Kdyz mu nic nereknete, tak se nema podle ceho rozhodovat. Treba, kdyz by se jednalo o web pro realitni kancelar, tak je to podobne jako seznamka, inzerce.

peter
JavaScript, AJAX, jQuery › Netvořil někdo konfigurátor…
9. 4. 2015   #201200

A chces ranu z leve nebo prave strany? :)

V podstate v js si muzes udelat databazi, nekolik tabulek. Nejspis to bude kompletni export nekolika tabulek z db. A pak je normalne pres js propojis.

Pri vetsim objemu dat bys to musel asi rozsekat do vic souboru a nacitat to pres ajax, az kdyz bude treba. To uz by se pak vyplatilo resit to pres ajax celkove. A nebo castecne, posledni selecty.

Na ajax muzes pouzit i iframe.

<iframe id=xxx styel="display:none;"></iframe>
<script>
document.getElementById('xxx').src = "adresa.php?a=1&b=3&c=1&"+new Date().time(); // nahodne cislo, kvuli kesovani
function generujSelect(str) {alert(str);}
</script>

Prebiras to pak pres php (adresa.php), kde mas js, ktere generuje select
<script>window.top.generujSelect("....data....")</script>
A nad tim mas php kod, ktery podle parametru v GET vygeneruje prislusny select.

Ale tomuto reseni je lepsi se vyhnout. Hacker prohledne kod a tve stranky muze pretizit generovanim nesmyslnych selectu. Tamten jeden js by se pekne kesoval a hacker by ti nezatezoval databazi.

peter
JavaScript, AJAX, jQuery › Netvořil někdo konfigurátor…
9. 4. 2015   #201195

Dokonce bych to resil tak, ze to ulozim do souboru.js , aby to nemuselo pokazde generovat php. Staci to generovat jen pri zmene v db.

peter
JavaScript, AJAX, jQuery › Netvořil někdo konfigurátor…
9. 4. 2015   #201193

treba...
 

<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",
//cislokraje
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

<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>
peter
JavaScript, AJAX, jQuery › Netvořil někdo konfigurátor…
9. 4. 2015   #201192

A zkousel jsi celou tabulku pretahnout do js a generovat ty selecty pomoci js bez nutnosti neustale kontaktovat server? Ona 10k tabulka v js zapsana jako text je velikostne stejna jako 10k obrazek. Kdezto 100 prenosu na server a zpet prenasi navic asi 1k dat v hlavicce, to mas uz 100k. A to neustale cekani az server odpovi....

Ono, ajax je krasna vec, ale musi se to umet spravne pouzivat.

peter
MySQL › Vytvorenie tabuľky tímov
9. 4. 2015   #201191

Nebude to treba tim, ze ti tam schazi nejaka zavorka?

Nebo nemas tabulku pojmenovanou? Nebo rozdilny pocet sloupcu? Nebo rozdilny alias sloupcu? Sql si tam neumi dosadit nultou hodnotu sam.

SELECT
  team_id,
  nazov,
  SUM(body_doma) + SUM(body_vonku) as body
FROM
  (
    (SELECT id as team_id, name as nazov, body_doma ...)
     -- to vytvori tabulku se sloupci: team_id, nazov, body_doma
    UNION ALL
    (SELECT id as team_id, team_name as nazov, body_vonku ...) 
     -- to vytvori tabulku se sloupci: team_id, nazov, body_vonku
  )
  -- jestli ten union projde, jakoze by nemusel, kdyz jsou sloupce pojmenovane rozdilne

-- pokud bys to chtel takto delat, tak bys musel dat ctyri sloupce

SELECT id AS team_id, name AS nazov, body_doma -- predtim
SELECT id AS team_id, name AS nazov, body_doma, 0 AS body_vonku -- potom
SELECT id AS team_id, team_name AS nazov, body_vonku -- predtim
SELECT id AS team_id, team_name AS nazov, 0 AS body_doma, body_vonku -- potom

A kdyz to nemas zgrupovane, tak ti SUM nepojede, ne? Jakoze spoji radky podle id a secte cisla ve stejne pojmenovanem sloupci.

SELECT SUM(sloupec) FROM tabulka GROUP BY id
google = mysql sum example
http://www.tutorialspoint.com/…function.htm

peter
Python › [HELP] LZW komprese a demopr…
9. 4. 2015   #201190

http://peter-mlich.wz.cz/hcomp.htm#LZW

A zkousel jsi si tam treba dat nejaky pokusny retezec 10 znaku a vypisovat si radek po radku, co jde do jakych promennych? Shoduje se ten vystup s tim, co mas na papire?

Mi to teda funguje. Aspon se to tak jevi. Az na ten detail, ze to uz dal z toho pole nekodujes. Prepsal jsem to ale na pole a na konci s joinoval, pac ten emulator asi neumi nejake moduly nebo netusim, jak je tam napsat
http://repl.it/hnj/2

 

 

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