Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan készülnek a komolyabb...

Hogyan készülnek a komolyabb keresések 1-1 webshopban? Mármint a bővített\részletes keresésekre gondolok pl ipon-on.

Figyelt kérdés

És az hogy a keresés már az előtt kidob valami értéket hogy beírtuk volna a teljes szöveget?

pl.

[link]



Ezeknek van valami neve amin rákereshetek?



2016. febr. 9. 12:44
1 2
 1/11 anonim ***** válasza:
100%

részletes épp úgy ahogy a sima, csak több mezőre szűr.

a második kérdésre: [link]

2016. febr. 9. 13:11
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

Több önálló adatott kell megadni.

Azaz minden lehetséges paraméter különálló mező az adatbázisba, termék adatok feltöltésénél pedig külön-külön kell megadni.

Ezután lehet keresni, ezekre az adatokra.


A korábbi lista megjelenítés pedig így működik, hogy miközben gépel, ajax -al lekéred a lehetséges találatokat...

Én úgy szoktam sorba rakni, hogy pontos egyezés, kifejezés eleje megtalálható, tartalmazza, ha pedig több szóból áll akkor ugyan ez szavakra, első szóra hangsúlyozva, utána a másodikra...

Szóval egy bonyolult SQL lekérdezés lesz.

Illetve olyat is hozzá teszek néha hogy ha több egyező van, hogy a népszerűbbet teszem előre.

Azaz amit többen nyitottak meg.

Persze ez már bővíti egy statisztikával is.

2016. febr. 9. 14:14
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:

Egyszerűbb, mint hinnéd. Próbálom a lehető legegyszerűbben elmagyarázni:


Van egy adatbázis, benne rengeteg "tartalom", pl laptpokok, egerek, tesco-s szatyrok, stb.


Mindhez tartoznak paraméterek, pl.: kategória(számítástechnika, oktatás, stb.)

ár(pl.:10ft-1000ft; 1000tf-10000tf)


Ezeken belül vannak alkategóriák is.


A keresés úgy történik, hogy a rendszer lekérdez mindent az adatbázisból, ahol azok a paraméterek vannak megadva, mint az általad megadott keresésnél.


PHP-ban ez így nézne ki:


"SELECT * FROM 'database' WHERE parameter1 = '".altalad megadott parameter1."' parameter2 = '".altalad megadott parameter2."'";

2016. febr. 9. 19:32
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:

Előző vagyok.


Az, hogy keresés előtt is kidob találatokat többféle módon is történhet.


I. Egy korábbi keresésed előzményeit session-be/cookie-be (kis, számítógépeden tárolt fájlba) lementi, majd később azt tölti be keresés előtt.


II. E legnépszerűbb termékeket tölti be, ha még nem kerestél rá semmire


III. Akciós termékeket töltenek be, amit jól rád akarnak sózni :S


Konkrétan ennek neve nincsen, egyszerű adatbázis (SQL) lekérdezés az egész.


Ha van még bármi kérdésed, írj nyugodtan :) Webfejlesztést tanulok, és szívesen segítek

2016. febr. 9. 19:37
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

#4 "Konkrétan ennek neve nincsen"

én így kerestem rá: "autocomplete jquery database"

2016. febr. 9. 20:12
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:

Köszönöm az eddigi segítségeket az elsőnél igazán az nem tiszta hogy ezt hogyan lehet megoldani? Mármint úgy értem hogy minden lehetőséget le kellene kezelni "if"-el? Az azért komolyabb oldalakon ahol rengeteg eshetőség van kicsit lehetetlennek hangzik.


pl keresünk alaplapokra van 4 adat pl ár,ram foglalatok száma,chipset,cpu foglalat

ha a boltban beállítom hogy keressen olyat amin 4ram foglalat van 1150-es cpu foglalatú és 30000ft alatt van akkor ugyebár chipsetet nem adtam meg..

ugyebár ez sql-ben úgy lenne hogy SELECT * FROM alaplap WHERE ramfoglalat=$ramfogl AND cpufoglalat=$cpufogl AND ar=$termekar


de ha már beletenném a chipsetet hibát adna hisz a $chips nevű változóm jelenleg üres (vagy megadom neki alap értéknek a nullát és akkor semmit nem ad ki)


lehet hogy nagyon retard kérdés de egyszerűen ez nekem nem tiszta

2016. febr. 10. 01:32
 7/11 anonim ***** válasza:

a php arra (is) való, hogy ne fixen írj meg minden lekérdezést....


tehát leegyszerűsítve: az adatokat (ami mondjuk egy tömb) végignézi egy ciklus és amennyiben nem üres, beleteszi a lekérésbe. ennyi :)


persze a valóságban ennek számtalan megvalósítási módja létezik, többnyire törekszünk a lehető leggyorsabb és legátláthatóbb (ez magyartalan volt.. szóval "szebb") megoldást használni.

2016. febr. 10. 11:04
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

A válaszok helytállóak, azonban túlmutatnék kicsit az SQL-en, ugyanis igazán nagy adatbázisoknál már a keresők nem SQL táblákat turkálnak, mert nem lenne hatékony.


Nálunk (bár nem webshop), de Solr van beállítva a kereső mögé, a DB ezzel van szinkronban.

2016. febr. 10. 21:00
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:
wdhun erre tudnál valamilyen példát mutatni?
2016. febr. 15. 12:10
 10/11 anonim ***** válasza:

[link]


például ez is egy hasonló dolog... (persze ez nem épp valami szép) most nincs kedvem kifejezetten ehhez példát írni, de nem nagy dolog.


pl van egy tömböd (kitöltött mezők). kiszeded az üreseket: $csak_kitoltottek = array_filter($mezok_tombje);

majd összefűzöd őket a lekérés stringjébe.

nyilván ha az adatbázisban más-más mezőkbe vannak eltárolva, akkor kell egy tömb az adatbázismezőkkel is.


$db_mezok = array("alma","korte");

foreach($csak_kitoltottek as $i=>$k)

{

$lekeres[] = $db_mezok[$i] . " = " . $k;

}


és a végén jön a lekérés... "WHERE ".implode(" AND ",$lekeres)


szóval valami ilyesmi, csak kevésbé összegányolt megvalósításban :D

most egy egyszerű példát próbáltam rá írni, szóval van még hova szépíteni a dolgot, de így talán már érteni fogod mire gondoltam

2016. febr. 16. 14:23
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!