Ostatní témata (Off Topic témata) : phpRS Fórum
Máte problém s konfigurací počítače? Hledáte nejlepší webhosting pro vaši aplikaci? Nevíte si rady s nějakým zajímavým programátorským oříškem? Týká se dotaz fóra? ... Pokud ano, tak je toto diskuzní fórum určeno právě vám.
phpRS - redakční a informační systém
Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-05, 14:59

Už jsem se dostal v celkové úpravě phprs celkem daleko co se týče přizpůsobení i pro jednotlivé regiony (viz [http://www.phprs.net/forum/read.php?2,34840,34840#msg-34840]).

1. Nicméně se mi stále nedaří zdárně upravit soubor search pro PODROBNĚJŠÍ VYHLEDÁVÁNÍ tak, aby se i tam dalo . hledání omezit buď na stát, kraj, region a nebo město.

2. A taky bych potřeboval udělat odkaz a nevím jak, aby se dalo třeba vyhledávání omezit třeba na město. U regionů to je takto (zároveň se zde můžete podívat pod fotkou jsou tam klikatelné odkazy STÁT, KRAJ, REGION, MĚSTO- a to město potřebuji vymyslet) :

[http://regionycr.cz/search.php?rsvelikost=sab&rstext=all-phpRS-all&rsstat=5&rskraj=7&rsregion=64] ,

tzn. region je v databázi pod číslem, ale město je v databázi uloženo jako text, a potřeboval bych, aby to hledalo jako třeba u zadaného slova, aby třeba odkaz vypadal takto:


[http://regionycr.cz/search.php?rsvelikost=sab&rstext=all-phpRS-all&rsstat=5&rskraj=7&rsregion=64&rsmesto=praha].

Tyhle dvě věci, podrobné vyhledávání a odkaz, jsou už poslední 2 věci, které potřebuji rozlousknout. Budu moc rád, když se to někomu povede a poradí mi.


Přikládám textový soubor s obsahem search.php



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 05.07.2009 15:09.

Přílohy: search.txt (31kB)  
Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2009-07-06, 09:15

V tej tabuľke regiónov, čo som ti dával, je id regiónu, ktoré obsahuje id, mesto, okres a kraj. Ak pripojíš ID, môžeš filtrovať podľa potreby. Ideš na to nesprávne. Prečo má byť mesto textovo ale regíon ako kód? Z akej tabuľky čerpáš zdrojové data? Najprv treba vymysieť logiku, potom začať upravovať.

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 10:40

No jo, ale obcí je v ČR něco přes 6 tisíc, tak jsem si říkal, že bude snadnější, když stát, kraj a region budou mít svoje id a město se bude zadávat jako text. Alespoň jsem si teda myslel, že to bude jednodužší.
Pořád se snažím najít chybku v tom search.php, zatím se mi nedaří. V nejhorším jsem si říkal, že bych zatím vyhledávání podle města nechal a upravil ten search.php pro rošířené hledání bez města.
Jinak data čerpám z tabulky, kterou jsi mi poslal, za co moc děkuji, hodně mi to ulehčilo práci. Jak říkám vše až na město má své id, ale nevím, jestli nebudu teda muset i přidat id měst.

Jo jinak pro pochopení logiky:
Stát:ČR(má id)
Kraj: Moravskoslezský(má id)
Region: Nový Jičín(má id)...potud je vše OK
ale:
město: Kunín (jelikož velký počet obcí zadáno jako text bez id)



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 06.07.2009 10:44.

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 11:13

Ono existuje ještě tzv. číselník obcí NUTS v případě obcí NUTS 5, ale nikde nemohu najít, kde se dá tento soubor stáhnout. Našel jsem jen tohle:
[http://aplikace.mvcr.cz/adresa/xml.html#kod_lok]
A navíc nevím jestli je tento způsob nejšťastnější.

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2009-07-06, 11:15

ono zadavani obci jejich jmenem ma jeden "drobny" nedostatek - jak resit obce, ktere se stejne jmenuji a je jich nekolik v republice
napr. ja jsem z Kladna (toho u Prahy) ale existuje i druhe Kladno - [http://www.firmy.cz/detail/351622-kladno-obecni-urad-kladno.html]

existuji ruzne ciselniky, ktere by se daly vyuzit a ktere ty obce rozlisi (napr treba je ukladat podle PSČ):
[http://forms.mpsv.cz/uir/]
[http://www.cpost.cz/cz/nastroje/dokumenty-ke-stazeni-id355/]

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 11:31

JJ, to máš pravdu, to mně taky napadlo, říkal jsem si že bude stačit když bude stejné město omezení také podle regionu.
Tak jsem se na to díval, zdá se mi, že UIR číselníky by byly OK, tak se koukám, kde se to dá stáhnout.
No dejme tomu, že by se vytvořila tabulka město, kde by byl název města, id, uir číselný kód a pod....tak potom stojím předtím, jak to implementovat do search.php, aby se nemuselo vyjíždět dlouhý rozevírací seznam měst. Taky se chci zeptat, jak by to bylo náročné na databázi respektive její zatížení počtem dotazů apod.

Jinak nevíte náhodou, kde bych mohl mít chybku v tom search.php?, když neberu v úvahu to město, tak i tak by to mělo být funkční, avšak není, kvyzkoušení zde:
[http://www.regionycr.cz/search.php]

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2009-07-06, 11:41

ZdenekPNJ napsal/a:
-------------------------------------------------------
> JJ, to máš pravdu, to mně taky napadlo, říkal jsem
> si že bude stačit když bude stejné město omezení
> také podle regionu.

tak jako příklad:
[http://www.mapy.cz/#x=133819517@y=135456431@z=13@mm=ZP@sa=s@st=s@ssq=struha%C5%99ov@sss=1@ssp=133225984_135119360_134146560_135974400]

Struhařov 2x v okrese Praha východ a 1x v sousední Benešově

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 11:47

jj, jasně,to je přesně ono,bude se to muset rozlišit tím id, nic jiného nezbyde:-)

Tak jsem teď vyhledal, že tyto číselníky se nyní nazývají LAU konkrétně pro obce LAU 2, ještě někde najít, kde se tento seznam dá stáhnout.

Nicméně pak nastane problém aplikace do search.php a do aartcles.php v adminu



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 06.07.2009 12:03.

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 13:56

No, každopádně jak takto a to koukám, bude to chtít mnoho a mnoho práce již v souvislosti s tím, že o seznam s id (NUTS 5 alias LAU 2) obcemi asi nepůjde jinak sehnat než zasláním cd z UIR. Budu muset předlat databázové tabulky a přidat tam hodnoty.
Nejspíš bych to viděl takto -černené hodnoty by se musely přidat(ale nejsem v tom nějak dobrý,takže kdyby jste měli lepší návrh...):
Tabulka stát:
DROP TABLE IF EXISTS `rcr_cla_stat`;
CREATE TABLE IF NOT EXISTS `rcr_cla_stat` (
`idcs` smallint(5) unsigned NOT NULL auto_increment,
`nazev_cla_stat` varchar(64) NOT NULL default '',
`stat_iso` varchar(2) NOT NULL default '',
`id_NUTS1` enum(10) NOT NULL default '',
`id_NUTS2` enum(10) NOT NULL default '',

PRIMARY KEY (`idcs`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Tabulka kraj:
DROP TABLE IF EXISTS `rcr_cla_kraj`;
CREATE TABLE IF NOT EXISTS `rcr_cla_kraj` (
`idck` smallint(5) unsigned NOT NULL auto_increment,
`nazev_cla_kraj` varchar(50) NOT NULL default '',
`kraj` varchar(64) NOT NULL default '',
`kraj_iso` varchar(2) NOT NULL default '',
`stat` varchar(64) NOT NULL default '',
`stat_iso` varchar(2) NOT NULL default '',
`id_NUTS1` enum(10) NOT NULL default '',
`id_NUTS2` enum(10) NOT NULL default '',
`id_NUTS3` enum(10) NOT NULL default '',

PRIMARY KEY (`idck`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Tabulka region:
DROP TABLE IF EXISTS `rcr_cla_region`;
CREATE TABLE IF NOT EXISTS `rcr_cla_region` (
`idcr` smallint(5) unsigned NOT NULL auto_increment,
`nazev_cla_region` varchar(50) NOT NULL default '',
`region` varchar(32) NOT NULL default '',
`kraj` varchar(32) NOT NULL default '',
`stat` varchar(64) NOT NULL default '',
`stat_iso` varchar(2) NOT NULL default '',
`id_NUTS1` enum(10) NOT NULL default '',
`id_NUTS2` enum(10) NOT NULL default '',
`id_NUTS3` enum(10) NOT NULL default '',
`id_LAU1` enum(10) NOT NULL default '',

PRIMARY KEY (`idcr`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Tabulka město:
DROP TABLE IF EXISTS `rcr_cla_mesto`;
CREATE TABLE IF NOT EXISTS `rcr_cla_mesto` (
`idcm` smallint(5) unsigned NOT NULL auto_increment,
`nazev_cla_mesto` varchar(50) NOT NULL default '',
`mesto` varchar(32) NOT NULL default '',
`region` varchar(32) NOT NULL default '',
`kraj` varchar(32) NOT NULL default '',
`stat` varchar(64) NOT NULL default '',
`stat_iso` varchar(2) NOT NULL default '',
`id_NUTS1` enum(10) NOT NULL default '',
`id_NUTS2` enum(10) NOT NULL default '',
`id_NUTS3` enum(10) NOT NULL default '',
`id_LAU1` enum(10) NOT NULL default '',
`id_LAU2` enum(10) NOT NULL default '',
PRIMARY KEY (`idcm`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2009-07-06, 14:09

tak cast UIR prevedene do MySQL je na www.uschovna.cz pod číselm zásilky Uschovna4a51e8dab3f3797

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 14:25

jéé díky moc, to mi moc pomůže.
Teď už to jen aplikovat do své datbáze, napojit na search.php



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 06.07.2009 14:29.

Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-06, 21:14

Děkuju všem za příspěvky. Jak jsem již psal, tohle bude asi na delší dobu jelikož fakt nejsem tak dobrý v php a sql, tak mi bude zase nějaký čas trvat, než na spostu věcí příjdu. Je mi teď jasné, že budu muset dostat čílo obce do tabulky článku položky Město. Prý se zda dá využít onchange aby se nemuselo vybírat z rozevíracího selectu o 6.200 položkách. Budu muset nastudovat jak se to dělá.

Jen prosím, prosím, mohl by se mi někdo podívat na ten search.php, aby se prozatím kromě vybírání mapou mohlo vybírat i pomocí rozšířeného vyhledávání. Budu fakt moc vděčný, protože nemůžu problém najít. Jeden jsem našel, opravil, ale stále to ještě nejede.

Přikládám obsah změněného search.php. K vidění na [http://www.regionycr.cz/search.php]

Všem moc ještě jednou děkuji za pomoc




Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 06.07.2009 21:15.

Přílohy: search.txt (31kB)  
Re: Pomoc s úpravou search.php
Zaslán uživatelem/kou: Kubajs (IP adresa zaznamenána)
Datum: 2009-07-22, 08:01

Předpokládám, že ste číselníky už vyřešili, ale pro jistotu sem dám zdroje, odkud se dá čerpat.

[http://www.cpost.cz/cz/nastroje/dokumenty-ke-stazeni-id355/]
[http://www.czso.cz/csu/klasifik.nsf/i/ciselniky]



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.