RE: mysql lekérdezés php-ban

Sütő Péter sucy at bkgsz.hu
2012. Feb. 4., Szo, 16:27:45 CET


Helló!

Végre egy kis konkrétum.. :D

vállalkozó tábla (Ebben írjuk le a vállalkozó céges/személyes/elérhetőségi adatait)
vallalkozo_id
vállalkozó többi (elérhetőségi) adata

tevékenység_törzs tábla (Ez felsorolja az összes, általunk nyilvántartott tevékenységet. Adott esetben ezt akár online is lehet bővíteni..)
tev_kod
tev_leiras

megyék_törzs tábla (No comment)
megye_kod
megye_név

vall_tev tábla (Ezzel összekapcsoljuk a fenti hármat. Egy rekord - egy vállalkozó - egy adott megyében végzett - egy tevékenysége. Több megye, több rekord. Több tevékenység, több rekord.)
kapcs_id
vallalkozo_id (foreign key)
tev_kod (foreign key)
megye_kod (foreign key)
unique (vallalkozo_id,tev_kod,megye_kod)

És íme, az adatbázis kereshető tevékenység, vállalkozó és megye szempontjából is. simán ki lehet listázni, hogy egy vállalkozó melyik megyében végzi az x szolgáltatást. Bármikor ki lehet listázni azokat a vállalkozókat, akik x tevékenységet végeznek y megyében. 

Variáció: a megyéket nem tartjuk nyilván, hanem bedrótozzuk, és 19 (20-21) biten tároljuk, ezzel jónéhány rekordot megspórolunk, php-vel jól kezelhető. (dec2bin fgv.)

Még egy megoldás az eredeti problémára, adatszerkezetre, amit viszont nem az SQL fog kezelni, hanem a php: a vesszőkkel elválasztott mezőt szétdobjuk egy tömbbe tombnev=explode(",",$megyek); függvénnyel, és ezzel a tömbbel már tudunk dolgozni. Kicsit lassú lesz a kód, de ha gyakorlatban nem tudjuk az adatbázist átmódosítani, akkor ez lehet a megoldás. Ekkor tevékenység szerint (gondolom) le tudod válogatni a vállalkozókat, és így tudod földrajzilag kiválogatni.

Válassz...

Sücy

-----Original Message-----
From:	techinfo-bounces at lista.sulinet.hu on behalf of Kunci
Sent:	Szo 2012. 02. 04. 15:23
To:	Techinfo
Cc:	
Subject:	Re: mysql lekérdezés php-ban
Köszönöm mindenkinek, különösen Péternek!

Ez a megoldás tűnik a legjobbnak de közben találtam másikat is ami 
egyelőre szintén jó eredményeket ad:
SELECT * FROM szintermek WHERE termekek  REGEXP '(^|,)13(,|$)'


Persze ha van még jó ötletetek szívesen veszem mert több szem többet lát!

Konkrétan arról van szó, hogy van egy adatbázis amiben vállalkozók 
adatai vannak.
Minden vállalkozó megadhat több szakterületet amiben és több megyét ahol 
tevékenykedik.
Kell egy kereső amiben rá lehet szűrni a vállalkozókra akik X megyében Y 
tevékenységet végeznek.



2012.02.03. 21:39 keltezéssel, Molnar Peter írta:
> SELECT * FROM szintermek where termekek like '%,1' OR termekek like '1,%'
> OR termekek like '%,1,%';
> jo!
>
_______________________________________________
Techinfo mailing list
Techinfo at lista.sulinet.hu
Fel- és leiratkozás: http://lista.sulinet.hu/mailman/listinfo/techinfo
Illemtan: http://www.szag.hu/illemtan.html
Ügyfélszolgálat FAQ: http://www.kozhaloportal.hu/gyik/altalanos/



--------- következő rész ---------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 4337 bytes
Desc: nem elérhető
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20120204/f428d839/attachment.bin>


További információk a(z) Techinfo levelezőlistáról