Suchfunktion

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

  • #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.%'";
    ?> 
    Zuletzt geändert von theaims; 26.02.2007, 17:32.

    Kommentar


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

      Kommentar


      • #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.

        Kommentar


        • #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.
          Zuletzt geändert von theaims; 26.02.2007, 18:18.

          Kommentar


          • #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]

            Kommentar


            • #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?

              Kommentar


              • #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!
                Zuletzt geändert von theaims; 26.02.2007, 18:38.

                Kommentar


                • #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]

                  Kommentar

                  Lädt...
                  X