Datenbank Suche Durch Script

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

  • Datenbank Suche Durch Script

    Hallo,

    also folgendes, habe mich neu registriert hier und evtl kann mir wer hier weiterhelfen. Ich habe eine Wortliste die umfasst ca. 50.000 Wörter

    diese habe ich nun in eine MySql Tabelle importiert mit dem Namen
    "LISTE" und jeweils eine Spalte/Zeile pro Wort.

    Nun bräuchte ich eine Internetseite wo ich mittels eines simplem Suchscript
    nach einzelden Wörtern aus dieser Tabelle suchen kann .

    sprich ich suche nach "AUTO" und er sucht die Tabelle der db ab und gibt als Ergebnis "AUTO" aus, und das möglichst schnell.

    Vielleicht hat da irgendwer was für mich womit ich das lösen könnte.
    Muss nicht unbedingt ein fertiges script sein, aber schlecht wärs nicht

    Vielen Dank soweit

    Gruß

  • #2
    Die Lösung: erstmal LESEN!

    Wenn du dich mit SQL beschäftigt hättest wäre dir aufgefallen, dass du das mit einem Index und einer simplen Select-Abfrage selbst machen kannst.

    Also: ein gutes Buch zu SQL hilft dir weiter.

    Kommentar


    • #3
      Schau dir besser echt mal einige tutorials an, ist eigentlich ganz simpel.
      Zur Orientierung kannst mal das nehmen:

      select * from liste where spaltenname LIKE '%auto%'

      Kommentar


      • #4
        habe leider noch nie in php mysql gecodet , vielleicht könnte mir einer einen beispiel code posten damit ich bischen weiß wie ich anzufangen hab mit so ner simplen abfrage, ne einzelnde code stelle wie SELECT hilft mir da kaum weiter bzw das es damit zu lösen ist hab ich auch schon erfahren *g*

        thx

        Kommentar


        • #5
          schon mal was von gehört?

          http://de3.php.net/manual/de/functio...etch-array.php

          Kommentar


          • #6
            Bin schon mal ein Stückchen weiter hab einfach mal drauf los experimentiert

            1. Habe ich eine Html Seite gebastelt wo mittels eines einfachen Texteingabefeldes + formular die Eingaben weitergeben werden an
            abfrage.php ( Das Php Script was nun checken soll ob es das zu suchende wort in der tabelle meiner Datenbank gibt und es dann wiederum ausgeben. Es soll allerdings erstmal nur so sein das exakt das Wort ausgeben wird nach dem man gesucht hat (wenn es vorhanden ist) und nicht mehr, wie dekladier ich da die Variablen richtig evtl ist noch mehr falsch, hier mal mein erster Versuch.

            PHP-Code:
            <?php
            /* Verbindung aufbauen, auswählen einer Datenbank */
            $link mysql_connect("localhost""root""")
               or die(
            "Keine Verbindung möglich: " mysql_error());
            echo 
            "Verbindung zum Datenbankserver erfolgreich";
            mysql_select_db("liste") or die("Auswahl der Datenbank fehlgeschlagen");

            /* ausführen einer SQL Anfrage */
            $query "SELECT * FROM liste";
            $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());

            /* Ausgabe der Ergebnisse in HTML */
            echo "<table>\n";
            while (
            $line mysql_fetch_array($resultMYSQL_ASSOC)) {
               echo 
            "\t<tr>\n";
               foreach (
            $line as $col_value) {
                   echo 
            "\t\t<td>$col_value</td>\n";
               }
               echo 
            "\t</tr>\n";
            }
            echo 
            "</table>\n";

            /* Freigeben des Resultsets */
            mysql_free_result($result);

            /* schliessen der Verbinung */
            mysql_close($link);
            ?>
            Vielen Dank erstmal

            Kommentar


            • #7
              In diesem Code suchst du aber nach gar nix, sondern liest alle Einträge aus der DB.
              PHP-Code:
              $sql "Select * From tabelle where name='$suchfeld'"
              würde allenfalls die Treffermenge einschränken.
              Pass aber bei der Übernahme der Werte aus dem Form in deine Abfrage auf und prüfe die Werte aus Gültigkeit --> mysql injections

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Formular sieht so aus:

                PHP-Code:
                  <form action="abfrage.php" method="post" name="form" target="bottom" id="form1">
                    <
                label>
                    <
                div align="center"><span class="Stil1">Suche
                      </
                span>
                      <
                input type="text" name="suche" /> 
                SELECT...

                PHP-Code:
                "SELECT * FROM liste WHERE name='$suche'"
                FEHLER...

                Unknown column 'name' in 'where clause'

                Kommentar


                • #9
                  1. heißt deine spalte in der mysql tabelle in der du suchst "name" ?

                  2. Könntest noch Wildcards dazugeben WHERE name='%$suche%'

                  3. warum haben id und name der form tags unterschiedliche benennungen ?

                  Kommentar


                  • #10
                    Also habe nun noch mal die form geändert

                    name="suche" id="suche"

                    und

                    "SELECT * FROM liste WHERE name='suche'";

                    wobei ich mal ne neue tabelle "liste" gemacht hab wo nun auch collumn oder wie sie das nennt "name" ist war zu erst AA oder so (mein fehler)

                    nun bekomm ich aber einfach als ERGEBNIS garnichts angezeigt

                    also mein echo von IHR ERGEBNIS :

                    .. und dann nichts

                    Kommentar


                    • #11
                      irgendwie hab ich das Gefühl das da noch komplett etwas fehlt,
                      ich mein wo überprüft er denn auf richtig oder falsch

                      fehlt da nicht ne if else schleife oder so?

                      Kommentar


                      • #12
                        hmm

                        Kommentar


                        • #13
                          Also dann wirst du jetzt wohl debuggen müssen. Folgende Fkt könnten dir dabei helfen
                          -print_r()
                          -var_dump()

                          Lass dir damit an verschiedenen Stellen deine Mysql Vars ausgeben und schau ob das gültige MySql Ressourcen sind. Prüfe schlicht alle Vars ob sie die Werte haben die du erwartest.
                          Dann wirst du den Fehler sicherlich finden.

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            hm glaube eher das das script selbst noch nicht vollständig ist ist poste noch mal

                            DB = wordox Tabelle = liste

                            PHP-Code:
                            <?php
                            /* Verbindung aufbauen, auswählen einer Datenbank */
                            $link mysql_connect("localhost""root""")
                               or die(
                            "Keine Verbindung möglich: " mysql_error());
                            echo 
                            "Verbindung zum Datenbankserver erfolgreich, Ihr Ergebnis:";
                            mysql_select_db("wordox") or die("Auswahl der Datenbank fehlgeschlagen");

                            /* ausführen einer SQL Anfrage */
                            $query "SELECT * FROM liste WHERE AA='$suche'";
                            $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());

                            /* Ausgabe der Ergebnisse in HTML */
                            echo "<table>\n";
                            while (
                            $line mysql_fetch_array($resultMYSQL_ASSOC)) {
                               echo 
                            "\t<tr>\n";
                               foreach (
                            $line as $col_value) {
                                   echo 
                            "\t\t<td>$col_value</td>\n";
                               }
                               echo 
                            "\t</tr>\n";
                            }
                            echo 
                            "</table>\n";

                            /* Freigeben des Resultsets */
                            mysql_free_result($result);

                            /* schliessen der Verbinung */
                            mysql_close($link);
                            ?>

                            Kommentar

                            Lädt...
                            X