[mysql] eingeschreaenkte datensatz auswahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [mysql] eingeschreaenkte datensatz auswahl

    hi

    ich weiss nich genau wie ich das nennen soll
    ich hab ne bild db

    für jedes bild kann man der admin mehrere schluesselwoerter auswaehlen
    der user kann nun anhand dieser schluesselwoerter die bildauswahl einschraenken

    hier mal ein bsp.


    gib mir alle bilder wo das schluesselwort sand (8) und das schluesselwort regen (11) vorkommt

    nun muesste der user die bilder Bild 1 (1) und Bild 4 (5) zurückbekommen


    wie mach ich die abfrage moeglichst effizient
    gibts da vielleicht nen wege das in einer mysql abfrage zu loesen

    (es sollen bis zu drei schluesselwoerter pro bild moeglich sein)
    moeglichst will ich halt vermeiden, drei schleifen mit drei abfragen zu machen


    hoffe man kann das verstehen
    wenn nich bitte sagen, komm nich weiter

    mfg.
    ...mind your brain
    need a free bulletin board:
    JBB - laufendes Board

  • #2
    select name from images
    left join rel_img_key on (imgID=a_imgID)
    left join keyword on (a_keyID=keyID)
    where word match against('Sand Regen')>0
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      danke

      so
      WHERE a_keyID MATCH....
      oder so?
      WHERE MATCH ( a_keyID ) ...

      bei beiden gibts den selben fehler

      Code:
      SELECT name FROM filez 
      LEFT JOIN rel_fil_key ON ( filID=a_filID ) 
      LEFT JOIN keywords ON ( a_keyID=keyID ) 
      WHERE MATCH ( a_keyID ) AGAINST( '1' )
      You have an error in your SQL syntax near 'MATCH ( a_keyID ) AGAINST( '1' )' at line 4

      und ich find den nich





      thx4re
      ...mind your brain
      need a free bulletin board:
      JBB - laufendes Board

      Kommentar


      • #4
        select name from images
        left join rel_img_key on (imgID=a_imgID)
        left join keyword on (a_keyID=keyID)
        where [color=red]word[/color] match against('Sand Regen')>0

        du willst doch mit der Spalte word vergleichen
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          sorry
          das war nur nen beispiel um zu verdeutlichen was ich will,

          ich kriege max. 3 indexe von keywords uebergeben, wo ich mir die bilder dazu ausgeben lassen will

          aber hab eigentlich die selbe abfrage nur mit anderen feldern wie du genommen ausser das ich den MATCH befehler anders aufgebaut habe

          der MATCH befehl hat bei meinen buch einen anderen aufbau
          WHERE MATCH ( feld ) AGAINST ( 'Wert1 Wert2' )


          aber sonst ist es doch egal ob ich word oder nen anderes existierendes feld vergleiche?
          ...mind your brain
          need a free bulletin board:
          JBB - laufendes Board

          Kommentar


          • #6
            select name from images
            left join rel_img_key on (imgID=a_imgID)
            left join keyword on (a_keyID=keyID)
            where keyword.word in ('Sand','Regen')


            vesuchs mal so..

            ich glaub das match keine mehreren ausdrücke erlaubt, ausserdem ist doch keine volltext suche..
            Zuletzt geändert von Campus; 21.10.2002, 18:21.
            meine Projekte bestaunen: http://www.kleiza.de

            Kommentar

            Lädt...
            X