Hirdetés
- Monitorok tucatjait hitelesíti az új GeForce driver
- AI-ra hangolta legújabb NUC mini PC-jét az ASUS
- Befutott a régóta várt, sok P-maggal kitömött, LGA1700-as Core sorozat
- Azt hittük, a GeForce RTX 3060 már leköszönt, de úgy látszik, hogy mégsem!
- Porvihar, zuhogó eső és hó, de az Akasa passzív háza kitart
Új hozzászólás Aktív témák
-
bambano
titán
válasz
csabyka666
#2177
üzenetére
a dolog lényege, hogy php-ben összefaragod stringműveletekkel a keresési feltételt, és utána egy keresést futtatsz, mert ha több utasításban keresel, akkor a distinctből falra hányt borsó lesz.
azt nem értettem eddig a kérdésedben, hogy neked a keresőszót több mezőn is egyszerre kellene értelmezni, eddig azt hittem, csak egyen.
erre meg az a megoldás, hogy az adatbáziskezelővel összerakatod egy stringbe az összes mezőt, amiben keresni akarsz, és arra adod meg a kereső kifejezést.tehát ha van mondjuk egy név, egy leírás, egy gyártó meződ, akkor valahogy így:
név||'|'||leírás||'|'||gyártó like '%elsőkeresőszó%' (postgresql szintaktikával, a || a postgresben string konkatenáció)
és ebből csinálsz logikai vagy-gyal függvényt. vagy csinálni kell rá egy nézettáblát, amin keresel, az lehet, gyorsabb.
magyarul keresel egy olyan karaktert, ami biztosan nem fordul elő az adatokban, hogy elválaszd a szavakat (nekem erre a csővezetékjel a kedvenc), és az összes mező tartalmát összerakod egy stringbe ezzel a jellel elválasztva, majd ezen a stringen csinálod a like-ot. ez egy logikai kifejezés, ebből csinálsz vagy-gyal egy végső logikai kifejezést.
másik, nem annyira elegáns megoldás, ha csinálsz egy külön táblát, amibe ideiglenesen tárolod a keresések részhalmazait, csak akkor ott figyelni kell rá, hogy párhuzamos használat esetén mi lesz.
szóval egy táblába beleszórod azokat az azonosítókat, amely rekordokban az aktuális keresőszó megvan, majd csinálsz egy selectet belőle, distinct-tel, valahogy így:for i in (keresendő szavak listája sorban); do
for j in (keresett mezők listája sorban); do
sql="insert into temptabla (id) select id from tabla where $j like '%$i%';
done
done
select distinct id from temptabla;ez nyilván nem helyes program, csak egy utalás arra, hogy hogyan kellene. szerintem ez a második megoldás kicsit parasztos, de mindegy...
Új hozzászólás Aktív témák
- Samsung kuponkunyeráló
- Milyen okostelefont vegyek?
- Elektromos (hálózati és akkus) kéziszerszámok, tapasztalatok/vásárlás
- iPhone topik
- LEGO klub
- Kutya topik
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- iPhone Ultra néven jöhet az Apple első foldja, nem lesz olcsó mulatság
- Hyundai, Kia topik
- Ilyen olcsó sem volt még egy Apple notebook
- További aktív témák...
- Új Mac Studio M4 Max 2025 14C CPU /32C GPU / 36GB RAM / 512GB - 1 ÉV APPLE GARANCIA
- 2026 MacBook Air / MacBook Pro / M5 - M5 Pro - M5 MAX 14" / 16"
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD+HDD?,,Win.11
- LG UltraGear 27GS85Q-B NanoIPS/2K/200HZ (068)
- Üzletből, garanciával, Dell Precision 7550 i7-11850H/32GBRAM/512GBSSD/NVIDIA T12000/15,6" FULLHD IPS
- BESZÁMÍTÁS! Asus Rog Maximus IX Hero Z270 chipset alaplap garanciával hibátlan működéssel
- Apple iPhone 17 Pro 256GB Deep Blue használt, karcmentes 100% akku (16 ciklus) Apple garancia
- BASEUS Compact Quick Charger 2xUSB USB-C PD 3A 30W fekete
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4240
- BESZÁMÍTÁS! ASRock A520M R5 5500 8GB DDR4 250GB SSD GTX 1050 Ti 4GB Sharkoon RGB Slider 400W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

