Suchfunktion die Tausendste

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

  • 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>
    Angehängte Dateien

  • #2
    Zitat von raptor49 Beitrag anzeigen
    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.

    Kommentar


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

      Kommentar


      • #4
        Zitat von raptor49 Beitrag anzeigen
        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

        Kommentar

        Lädt...
        X