Suchfunktion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Wenn ich das so Eingebe:

    PHP Code:
    SELECT *
    FROM test
    WHERE MATCH 
    (
    worddefinition
    )
    AGAINST (
    'Suchfunktion'
    )
    LIMIT 0 30 
    Passiert nichts. Jetzt werdet ihr mir bestimmt sagen das 'Suchfunktion' kein Wort ist.

    Wenn ich es aber so eingebe:

    PHP Code:
    SELECT FROM test WHERE MATCH (worddefinitionAGAINST (Suchfunktion
    Kommt das hier:

    SQL-Befehl: Dokumentation

    SELECT *
    FROM test
    WHERE MATCH (
    word, definition
    )
    AGAINST (
    Suchfunktion
    )
    LIMIT 0 , 30

    MySQL meldet: Dokumentation
    #1054 - Unknown column 'Suchfunktion' in 'where clause'


    edit:

    Ist der Code so nicht besser:
    PHP Code:
    "SELECT * FROM test WHERE word, definition LIKE '%.$word.%'";
    ?> 
    Last edited by theaims; 26-02-2007, 17:32.

    Comment


    • #17
      Ist der Code so nicht besser:
      PHP Code:
      "SELECT * FROM test WHERE word, definition LIKE '%.$word.%'"
      Hast Du das mal MySQL vorgeschlagen?

      Comment


      • #18
        Nein. Ist mir schon klar das der nicht ganz richtig ist. Ist nur ein Beispiel. Weil ich meinte das es mit LIKE vielleicht besser ist.

        Comment


        • #19
          Haha! Juhu! Geht!

          PHP Code:
           $query "SELECT * FROM lexikon WHERE word LIKE ('".$word."') OR definition LIKE ('".$word."')"

          Aber wie mache ich das jetzt mit dem % vor und hinter der Variable?

          Aber schon alles getestet gibt immer einen Fehler.
          Last edited by theaims; 26-02-2007, 18:18.

          Comment


          • #20
            Ich meine, ich bin ja auch kein Chef, was all das hier angeht, aber manchmal sollte man sich die Hinweise, die man gerade von den Checkern bekommt, doch etwas genauer ansehen.

            Es gibt einfach zu viele Tücken, die überall lauern. Aber es gibt auch Hilfen und die sollte man nach Möglichkeit nutzen.

            Mir war das Thema bis gestern abend auch vollkommen neu, aber es hat mich interessiert, deswegen hab ich mich vorhin nochmal auf die Suche gemacht ...

            Wenn du dich mal hierhin bemühst und dort in die Suchmaske [COLOR=blue]full text search[/COLOR] eingibst, bekommst du haufenweise Resultate zurück.

            Habe dort ein Beispiel gefunden und mit den SQL-Anweisungen, die dort schon fast fertig bereit stehen nachgebaut und es hat funktioniert.

            In jedem Fall ist dort auch die Rede von Fulltext usw., womit wir wieder bei den Tipps der Cracks wären.

            Ich weiß ja, wie schwer es ist, wenn man im Prinzip keine oder nicht viel Ahnung hat, aber auch hier im Forum bekommst du selten was geschenkt. Also immer brav anstrengen und nicht nur zwischen den Zeilen lesen

            Hoffe, der Link wird dir helfen und lass dich nicht vom Englisch abschrecken.

            Außerdem gibt es dort noch viel mehr Hintergründiges zum Thema. Viel Spaß!
            [FONT=arial][COLOR=orangered]
            Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
            [/COLOR]

            ... und nicht vergessen: der Ton macht die Musik ;-)

            ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
            [/FONT]

            Comment


            • #21
              Aber schon alles getestet...
              Bestimmt nicht. Wo ist das Problem, den SQL-String so zu erweitern, dass vor und hinter dem jeweiligen Suchwort ein "%"-Zeichen steht?

              Comment


              • #22
                Original geschrieben von kuddeldaddeldu
                Bestimmt nicht. Wo ist das Problem, den SQL-String so zu erweitern, dass vor und hinter dem jeweiligen Suchwort ein "%"-Zeichen steht?
                Hm das frage ich mich auch.

                edit: Manchmal sieht man den Wald vor lauter Bäumen nicht!

                Habe das ganze um eine Stelle vertauscht so ist es richtig:

                PHP Code:
                SELECT FROM lexikon WHERE word LIKE ('%".$word."%') OR definition LIKE ('%".$word."%')"; 

                Danke für eure ganze Hilfe!
                Last edited by theaims; 26-02-2007, 18:38.

                Comment


                • #23
                  und so mit Against ...

                  CREATE TABLE `articles` (
                  `id` int(10) unsigned NOT NULL auto_increment,
                  `title` varchar(200) default NULL,
                  `body` text,
                  PRIMARY KEY (`id`),
                  FULLTEXT KEY `title` (`title`,`body`)
                  ) TYPE=MyISAM AUTO_INCREMENT=7 ;

                  --
                  -- Daten für Tabelle `articles`
                  --

                  INSERT INTO `articles` VALUES (1, 'MySQL Tutorial', 'DBMS stands for DataBase ...');
                  INSERT INTO `articles` VALUES (2, 'How To Use MySQL Well', 'After you went through a test');
                  INSERT INTO `articles` VALUES (3, 'Optimizing MySQL', 'In this tutorial we will show ...');
                  INSERT INTO `articles` VALUES (4, '1001 MySQL Tricks', '1. Never run mysqld as root. 2. ...');
                  INSERT INTO `articles` VALUES (5, 'MySQL vs. YourSQL', 'In the following database comparison ...');
                  INSERT INTO `articles` VALUES (6, 'MySQL Test Security', 'When configured properly, MySQL ...');


                  Die Abfrage:

                  SELECT * FROM articles
                  WHERE MATCH (title,body) AGAINST ('test');
                  [FONT=arial][COLOR=orangered]
                  Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                  [/COLOR]

                  ... und nicht vergessen: der Ton macht die Musik ;-)

                  ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                  [/FONT]

                  Comment

                  Working...
                  X