Suchfunktion

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

  • Suchfunktion

    Hallo

    Ich habe eine Suchfunktion aber sie funktioniert nicht .

    Also wenn in ein Wort eingebe und es ist auch in der Datenbank vorhanden wird es nicht ausgegeben. Gebe ich aber nichts ein so wird alles ausgegeben.

    Ich hoffe ihr könnt mir helfen.



    Das Formular zum eingeben:
    PHP-Code:
    echo " \n";
                    echo 
    " \n";
                    echo 
    "<TR align=center valign=middle> \n";
                    echo 
    "<TD colspan=2 align=center valign=middle> \n";
                    echo 
    "<BR><BR> \n";

                    echo 
    "<font size=$headfontsize; face=$tablefontface> \n";
                    echo 
    '<form action="index.php" method="post">'.$search_word.': &nbsp;<input type="text" name="word">&nbsp;';
                    echo 
    '<input type="submit" value='.$search_search.'></form></font>';
                    
                    echo 
    "</TD> \n";
                    echo 
    "</TR> \n";

                    echo 
    "<TR align=center valign=middle> \n";
                    echo 
    "<TD colspan=2 align=center valign=middle> \n";
                    echo 
    "<BR><BR> \n"



    Die Auführung und die Ausgabe:
    PHP-Code:
     $query "SELECT * FROM $table WHERE MATCH (word, definition) AGAINST ('$word')";  
          
          
    $result mysql_query($query);
                  
    $nombre mysql_num_rows($result);
                 
                         if ( 
    $nombre == ) {
                echo 
    "<font SIZE=$tablefontsize face=$tablefontface>";  
                echo 
    $search_no_result;
                echo 
    "<BR>";
                echo 
    $search_specify;
                echo 
    "</font>";
    }else{
    echo 
    $table_in

  • #2
    Wo bzw. wie machst du die Übergabe der Eingabe

    PHP-Code:
     $word $_POST['word']; 
    [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


    • #3
      Hast du dir schon mal $query ausgeben lassen?
      [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


      • #4
        Vielleicht solltest du mal das probieren?

        PHP-Code:
        $query "SELECT * FROM $table WHERE MATCH (word, definition) AGAINST ('".$word."')"
        [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


        • #5
          In $query ist alles drinn!

          Kommentar


          • #6
            Original geschrieben von Smartsoul
            Wo bzw. wie machst du die Übergabe der Eingabe

            PHP-Code:
             $word $_POST['word']; 
            Original geschrieben von Smartsoul
            Hast du dir schon mal $query ausgeben lassen?
            bitte benatworte mal diese fragen, danke
            Freedom is a state of mind. Not a state in which we live.

            troxdev.ch | animefieber

            Kommentar


            • #7
              Die übergabe per Post mache ich genau
              PHP-Code:
              $word $_POST['word']; 
              so am Anfang der Seite.

              Die Query sieht so aus:

              PHP-Code:
              SELECT FROM test WHERE MATCH (worddefinitionAGAINST ('Test'

              Kommentar


              • #8
                Was hast du noch unternommen, um den Fehler zu finden?

                Kommentar


                • #9
                  1) mysql_error();
                  2)wird ein wort viel zu oft und in jedem beitrag vorkommen, wird er von full_text indexierung nicht mehr beachtet.
                  3)ist ein wort kleiner als 4 Buchstaben wird es nicht beachtet
                  4)sind die von dir aufgelistete felder mit full_text index überhaupt indexiert?
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Original geschrieben von Slava
                    1) mysql_error(); [COLOR=red][Habe ich gemacht gibt immer 0 aus.][/COLOR]
                    2)wird ein wort viel zu oft und in jedem beitrag vorkommen, wird er von full_text indexierung nicht mehr beachtet. [COLOR=red][Das Wort kommt auch nur einmal vor!][/COLOR]
                    3)ist ein wort kleiner als 4 Buchstaben wird es nicht beachtet [COLOR=red][Ist größer als 4 Buchstaben][/COLOR]
                    4)sind die von dir aufgelistete felder mit full_text index überhaupt indexiert? [COLOR=red][Was ist das? Wie kann ich das anwenden? Es ist doch eine einfache Suche in der Datenbank.][/COLOR]

                    @onemorenerd

                    Ich habe die Query mal in PHPMYADMIN eingegeben.

                    Er gibt das zurück:
                    PHP-Code:
                    MySQL lieferte ein leeres Resultat zurück (d.hnull Zeilen). (die Abfrage dauerte 0.0007 sek)
                    SQL-Befehl
                    SELECT *
                    FROM test
                    WHERE MATCH 
                    (
                    worddefinition
                    )
                    AGAINST (
                    '"Suchfunktion"'
                    )
                    LIMIT 0 30 



                    Und wie bekomme ich eine ganz normale Suche hin die mir alles anzeigt?
                    Zuletzt geändert von theaims; 26.02.2007, 15:44.

                    Kommentar


                    • #11
                      Bitte zitiere vernünftig, damit man auch auf deine Aussagen problemlos Bezug nehmen kann.

                      Original geschrieben von theaims
                      4)sind die von dir aufgelistete felder mit full_text index überhaupt indexiert?
                      Was ist das? Wie kann ich das anwenden? Es ist doch eine einfache Suche in der Datenbank.
                      D'oh ...

                      http://dev.mysql.com/doc/refman/4.1/...xt-search.html´

                      PHP-Code:
                      WHERE MATCH (...)
                      AGAINST (
                      '"Suchfunktion"'

                      "Suchfunktion" ist kein Wort.
                      Suchfunktion wäre ein Wort.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Ok ich habe aber mit rot zitiert.

                        Also ich verstehe das noch nicht so ganz mit der Suche. Ich habe ein Datenbank Script ähnlich einem Wiki und möchte mit der Suche halt Einträge suchen z.B: der kleine Artikel wo das Wort Suchfunktion vorkommt soll aufgelistet werden. Und ich möchte auch das Teilwörter gefunden werden. z.B: Wenn ich in die Suche "Funktion" eingebe möchte ich auch das, dass Wort "Suchfunktion" gefunden wird.

                        Kommentar


                        • #13
                          %funktion

                          sollte auch suchfunktion ausgeben, meine ich gestern gelesen zu haben

                          Funktion%

                          auch Funktionalitäten als Ergebnis liefern

                          %funktion%

                          auch suchfunktionalitäten


                          Bitte korrigiert mich, wenn ich das falsch verstanden haben sollte.
                          Zuletzt geändert von Smartsoul; 26.02.2007, 17:22.
                          [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


                          • #14
                            Ah ok

                            Habe es jetzt so gemacht:

                            PHP-Code:
                            $query "SELECT * FROM $table WHERE MATCH (word, definition) AGAINST ('"%.$word.%"')"
                            Aber das Problem ist immer noch das dieses Teil einfach keine Ergebnisse ausgibt.

                            Kommentar


                            • #15
                              Original geschrieben von wahsaga

                              "Suchfunktion" ist kein Wort.
                              Suchfunktion wäre ein Wort.
                              Hast du das berücksichtigt?
                              [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