1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Mit Php MYSQL DB durchsuchen

Discussion in 'Programmieren' started by ov3r, Jan 6, 2010.

Thread Status:
Not open for further replies.
  1. ov3r

    ov3r Byte

    Hallo,

    Habe bisher nicht mit MYSQL gearbeitet, deshalb gnadet mir bitte. :bussi:
    Mein Ziel ist es eine Suchmaske zu erstellen in der User einen Nachnamen eingeben können, und den entsprechenden Datensatz aus der MYSQL DB dann sehen können. Also eine Abfrage..

    Datenbank heißt user, die Tabelle = kunde. Mein bisheriger Versuch sah so aus:

    Code:
    <?php
    $suche = $_POST['suche'];
    echo "Ihr Suchbegriff war: ".$suche."<br />";
    
    mysql_connect("localhost","root","");
    mysql_select_db("user");
    
    $abfrage = "SELECT * FROM kunde WHERE name LIKE $suche";
    
    $ergebnis = mysql_query($abfrage);
    echo $ergebnis;
    ?>
    
    Funktioniert aber leider nicht...
    Das "suche" Feld wird natürlich im vorhergehenden Formular übergeben.

    Vielen Dank für Hilfe!
     
  2. VB-Coder

    VB-Coder Megabyte

    PHP:
    <?php
    $suche 
    $_POST['suche'];
    echo 
    "Ihr Suchbegriff war: ".$suche."<br />";

    $verbindung mysql_connect("localhost","root","");
       if (!
    $verbindung) {
         die(
    'Es wurde keine MySQL-Verbindung hergestellt !' .mysql_error());
       }

    mysql_select_db("user");

    $ergebnis mysql_query("SELECT * FROM kunde WHERE name LIKE '%$suche%'");
       if (!
    $ergebnis) {
         echo 
    "Nichts gefunden !";
       }
       else {
         echo 
    $ergebnis;
       }
    ?>
    versuchs mal so (ungetestet)
     
  3. ov3r

    ov3r Byte

    Bekomme immer die Meldung "Resource id #3"
     
  4. VB-Coder

    VB-Coder Megabyte

    http://www.intermitto.net/mysql/php/neu/

    scroll mal bis runter und lies dir mal "Ergebnisse aus SELECTs auswerten" durch. Dann kannst mein Beispiel entsprechend anpassen. Du musst ja eigentlich nur den Teil in der else { echo $ergebnis; } erweitern.
     
  5. ov3r

    ov3r Byte

    Ja, Danke schonmal! Erstmal funktioniert es jetzt auch. Musste die if Bedingung und den else-Zweig anpassen.

    Aber das Problem: Wenn 3 Leute den selben Namen haben, werden nur die ersten beiden ausgegeben. Der letzte fehlt immer. Wie kann ich das optimieren?

    Sieht nun so aus:

    PHP:
    <?php
    $suche 
    $_POST['suche'];
    echo 
    "Ihr Suchbegriff war: ".$suche."<br />";

    $verbindung mysql_connect("localhost","root","");
       if (!
    $verbindung) {
         die(
    'Es wurde keine MySQL-Verbindung hergestellt !' .mysql_error());
       }

    mysql_select_db("user");

    $ergebnis mysql_query("SELECT * FROM kunde WHERE name LIKE '&#37;$suche%'");

       if(
    mysql_fetch_assoc($ergebnis) == "") {
         echo 
    "Nichts gefunden !";
       }
       else {
     
        while(
    $daten mysql_fetch_assoc($ergebnis)){
            echo 
    "Vorname: ".$daten["vorname"]."<br />";
            echo 
    "Name: ".$daten["Name"]."<br />";
            echo 
    "Email: ".$daten["Email"]."<br />";
            echo 
    "Strasse: ".$daten["Strasse"]."<br /><br />";
            }
       }
    ?>  
     
    Last edited: Jan 6, 2010
  6. VB-Coder

    VB-Coder Megabyte

    indem du vor oder nach der while nochmal die Daten ausgeben lässt. Bin mir gerade nicht sicher wie rum

    also entweder so

    PHP:
    else {
     
    $daten mysql_fetch_assoc($ergebnis)
            echo 
    "Vorname: ".$daten["vorname"]."<br />";
            echo 
    "Name: ".$daten["Name"]."<br />";
            echo 
    "Email: ".$daten["Email"]."<br />";
            echo 
    "Strasse: ".$daten["Strasse"]."<br /><br />";

        while(
    $daten mysql_fetch_assoc($ergebnis)){
            echo 
    "Vorname: ".$daten["vorname"]."<br />";
            echo 
    "Name: ".$daten["Name"]."<br />";
            echo 
    "Email: ".$daten["Email"]."<br />";
            echo 
    "Strasse: ".$daten["Strasse"]."<br /><br />";
            }
       }
    oder so

    PHP:
    else {
     
        while(
    $daten mysql_fetch_assoc($ergebnis)){
            echo 
    "Vorname: ".$daten["vorname"]."<br />";
            echo 
    "Name: ".$daten["Name"]."<br />";
            echo 
    "Email: ".$daten["Email"]."<br />";
            echo 
    "Strasse: ".$daten["Strasse"]."<br /><br />";
            }
         
    $daten mysql_fetch_assoc($ergebnis)
            echo 
    "Vorname: ".$daten["vorname"]."<br />";
            echo 
    "Name: ".$daten["Name"]."<br />";
            echo 
    "Email: ".$daten["Email"]."<br />";
            echo 
    "Strasse: ".$daten["Strasse"]."<br /><br />";
       }

    musst du selbst mal testen
     
Thread Status:
Not open for further replies.

Share This Page