+ Hozzászól a témához
Eredmény: 1 - 4 (4) összesen

Téma: kereses

  1. #1
    Új tag
    Csatlakozott
    08-09-26
    Hozzászólás
    14

    Alapbeállítás kereses

    lenne egy kerdesem ami a php-t is meg az adatbazist is erinti, koktelokra akarok recepteket csinalni amik mysql-ben lesznek tarolva, a kresesben meglessz az osszesz ital amik szerepelnek a receptekben, es ha valaki keresni akar akkor csak bejeloli mi van neki othon es csak azokat a recepteked mutassa meg neki amiket tud keverni abbol ami van neki othon. most jon a kerdes gondolkodok ahogy gondolkodok nem tudom hogy tervezni az adatbazist es milyen algoritmussal keresni aztan hogy csak azt keresse amit tud keverni abbol amit bejelolt.



  2. #2
    Törzsvendég MKarcsi logója
    Csatlakozott
    08-04-04
    Hely
    Budakeszi || Szolnok
    Hozzászólás
    104

    Mosoly re: kereses

    Szia!

    Neten láttam egy megoldást, pedig csak koktélösszetevőkre akartam keresni, hogy ne tűnjek túl analfabétának

    h^^p://koktel.idea.hu/gazdasagos-koktelozas/

    Ők gondolom úgy oldják meg, hogy az adminban a koktélok felvételénél is egy ugyanilyen form van és amikor megadod a nevet, képet meg amit akarsz és bejelölöd, hogy mi van benne és mi nem, legenerálja az összetevőket egy 0,1-est tartalmazó varchar-ra és az összetevőknél ezt tárolja az adatbázisban. Pl. itt a Bronx Dry, amihez kell gin, száraz vermut és narancslé:
    0100001000000010000000

    Keresésnél meg ugyanazt az összetevős formot teszed ki, hogy a 0,1-k sorrendje azonos legyen és szintén legenerálod a számsort. Tag bejelölgeti milye van és az is ad egy ilyet (mindene van, csak narancsleve nem)
    0100001000000000000000

    A user által generált számsoron és az adatbázisban tárolt számsorokon végig mész 1 for ciklussal és megnézed, hogy a koktél számsor 1-i megegyeznek-e, a user számsorának 1-ivel. Ha mindegyik koktél számsor 1-ese benne van a user számsorában ugyanazon a helyen, akkor összetudja állítani az italt.
    Ezzel a megoldással még azt is meg tudod mondani, hogy mennyi összetevő kéne egy másik koktél elkészítéséhez és mik ezek.

    Aztán valahol lesz egy tömböd, hogy pontosan tudd hanyadik szám mit jelent
    $osszetevok = array("Gin", "Narancslé", "Vodka", ...) és ahol ciklikusan összehasonlítod a meglévő és szükséges összetevőket és stimmelnek, akkor kiíratod, hogy $osszetevo[$i] megvan neki. Túl sokat vagy szájbarágósan írtam akkor bocsi, remélem tudtam segíteni.



  3. #3
    Bölcs Blog: Webdev újévi fogadalmak
    huncyrus logója
    Csatlakozott
    07-04-26
    Hely
    EU :)
    Hozzászólás
    500

    Alapbeállítás re: kereses

    teljesen korrekt amit irtál.

    talán még lehetne úgy is, hogy a táblában egy text mezőben tárolodik le a koktél tartalma, mondjuk vessszővel vagy bármivel elválasztva, csak be vannak irva oda elválasztva az alkotoelemek, h pezsgő, uborka, narancs, vodka...

    és amikor keresel akkor php átnyálazza a text mezőt összehasonlítva a bevitt adatokkal, hogy melyikben van meg mind. és azt listázza.

    tehát ugyanazt irtam mint fentebb csak pepitában...


    Cyrusmagus.hu - Informatika, Fantasy, Blog, Irások
    Szörnygyilkos 4.0 - hamarosan

  4. #4
    kow
    kow nem elérhető
    KowDerMei$ter Blog: iScaffold 2.11 - forráskód generálás CodeIgniterhez
    kow logója
    Csatlakozott
    07-05-09
    Hely
    Budapest
    Hozzászólás
    1.476

    Alapbeállítás re: kereses

    3 tábla kell hozzá:

    Koktelok (tárolja a koktél fő jellemzőit, elkészítés módját, stb. )
    Osszetevok (id és az összetevő megnevezése )
    Switch ( id, koktelID, osszeteviID )

    Keresés összetevőre: kiválasztod az összetevőket a 2. táblából és azok ID-jaival keresel a switch táblában, majd azok ID-jait kéred le a koktélok táblából. Ez 1 sql lekérdezésben is meg lehet írni (subquerykkel vagy joinokkal).

    Koktélhoz kilistázni az összetevőket: az előző logika fordítva.

    UPD.: most nézem az idea-s linket, az összetevők kaphatnak még kategoriaID-t is.


    Utoljára módosítva: kow által : 2008-09-27 11:27

+ Hozzászól a témához

A téma címkéi:

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76