Suchfunktion die Tausendste

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

  • Suchfunktion die Tausendste

    Hallo Forum,

    mein Chef nötigt mich, trotz nur seichter Kenntnisse eine Art Betriebsinterne Suchfunktion zu coden.

    Leider ist das Ergebnis nicht das was ich erhofft hatte.

    Bei Eingabe der Nummer, gibts kein Ergebnis nur mit dieser Nummer. Stattdessen werden alle Artikel angezeigt.

    Ich hänge an dem Ding schon eine weile rum und mein Chef ignoriert die Hinweise, das ich von PHP und MySQL kein Plan habe.


    Später sollen noch andere Funktionen mit dazu.... wie zum bsp neue DB anlegen etc.

    Warum klappt das nicht, hab ich nen Denkfehler?


    PHP Code:
    [LEFT]<!DOCTYPE html>
    <html>
    <head>
    <title>forum / index</title>
    <meta charset="UTF-8" />
    </head>
    <body>

    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
    PZN Suchen:: <br />
    <input type="text" name="pzn" size="20" maxlength="30" />
    <br />
    <input type="submit" value="Abschicken" />
    </form>
    <?php
    if (isset($_POST["pzn"])) {
    echo 
    "Ihre Eingaben<br />\n" 
    "Gesuchte PZN: <br> " htmlspecialchars($_POST["pzn"]);
    }

    &
    #12288;
    $mysqli = new mysqli("localhost""root""""test_db");
    if (
    $mysqli->connect_error) {
    echo 
    "Fehler bei der Verbindung: " mysqli_connect_error();
    exit();
    }
    if (!
    $mysqli->set_charset("utf8")) {
    echo 
    "Fehler beim Laden von UTF8 "$mysqli->error;
    }


    // Abfrage 1
    $ergebnis $mysqli->query("SELECT * FROM `gh20130915` WHERE `pzn` LIKE '%';"); 
    $zeile $ergebnis->fetch_array();

    // Abgrage 2
    //// Testen
    $ergebnis $mysqli->query("SELECT * FROM `gh20130915` WHERE `pzn` LIKE '%';");
    echo 
    "<table border='1'>\n";
    while(
    $zeile $ergebnis->fetch_array()) {
    echo 
    "<tr><td>" htmlspecialchars($zeile["pzn"]) . "</td>"
    "<td>" htmlspecialchars($zeile["skn"]) . "</td>"
    "<td>" htmlspecialchars($zeile["preis_1"]) . "</td>"
    "<td>" htmlspecialchars($zeile["menge_1"]) . "</td>"

    "<td>" htmlspecialchars($zeile["preis_2"]) . "</td>"
    "<td>" htmlspecialchars($zeile["menge_2"]) . "</td>"

    "<td>" htmlspecialchars($zeile["preis_3"]) . "</td>"
    "<td>" htmlspecialchars($zeile["menge_3"]) . "</td>"

    "<td>" htmlspecialchars($zeile["preis_4"]) . "</td>"
    "<td>" htmlspecialchars($zeile["menge_4"]) . "</td>"
    "<td>" htmlspecialchars($zeile["art_name"]) . "</td>"
    "<td>" htmlspecialchars($zeile["spec_preis"]) . "</td>"
    "</tr>\n";
    }
    echo 
    "</table>";





    // Original Gibt nur unformatiertes Array aus

    echo "<pre>"
    print_r($zeile);
    echo 
    "</pre>";




    // 
    // Ausgabe der Artikelbeschreibung und Spec Preis
    echo "<pre>";
    echo 
    '<table border="1">';

    echo 
    "<tr>";
    echo 
    "<th>Artikel</th>";
    echo 
    "<th>Spec Preis</th>"
    echo 
    "</tr>";

    echo 
    "<tr>";
    echo 
    "<td>"$zeile['art_name'] . "</td>";
    echo 
    "<td>"$zeile['spec_preis'] . "</td>";
    echo 
    "</tr>";

    echo 
    '</table>';
    echo 
    "</pre>";













    $ergebnis->close();
    $mysqli->close();

    &
    #12288;
    ?>

     
     
     
     
    </body>[/LEFT]
    </html>
    Attached Files

  • #2
    Originally posted by raptor49 View Post
    Warum klappt das nicht
    Weil du die Formular-Eingabe überhaupt nicht benutzt um die Ergebnismenge der Query einzuschränken …?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Ups.... Thanx für den Hinweis. Die suche funktioniert jetzt zwar soweit, allerdings erst nach dem refresh der Seite.
      Zuerst sieht man immer noch alle Artikel wie im Bild im ersten posting.

      PHP Code:
      // Variable Formular
      $suche $_POST ["pzn"];
       
      SQL:
      $ergebnis $mysqli->query("SELECT * FROM `gh20130915` WHERE `pzn` LIKE '%$suche%';"); 
      Ich werd mich mal durch ein Tutorial kämpfen.

      Comment


      • #4
        Originally posted by raptor49 View Post
        Ups.... Thanx für den Hinweis. Die suche funktioniert jetzt zwar soweit, allerdings erst nach dem refresh der Seite.
        Zuerst sieht man immer noch alle Artikel wie im Bild im ersten posting.
        PHP Code:
        // Variable Formular
        $suche $_POST ["pzn"];
         
        SQL:
        $ergebnis $mysqli->query("SELECT * FROM `gh20130915` WHERE `pzn` LIKE '%$suche%';"); 
        Ich werd mich mal durch ein Tutorial kämpfen.
        Hi raptor49,

        wieso kommt man(frau) immer wieder drauf, mit . . . spalte like '%suchbegriff%' zu suchen, wenn man(frau) doch nur genau einen Datensatz finden will?

        Die Prozentzeichen (Wildcards = Kann alles sein) vor und hinter dem "suchbegriff" lassen alle Zeichen zu. Suche nach 2 findet dann:

        Born 2 be wild
        U2
        2x2=4
        4321
        2 ritten zu dritt
        1234
        int2long
        . . . usw.

        %Gruß%
        Günni

        Comment

        Working...