Probleme mit Such-Script

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

  • Probleme mit Such-Script

    Hallo ihr,

    zuerst einmal: ich bin blutiger Anfänger in Sachen PHP/SQL und versuch gerade "learning by doing".

    Ich hab schon erste Erfolge mit SELECT gehabt, ich habe tatsächlich alle Daten aus meiner DB bekommen, konnte die sortieren, wie ich haben wollte etc.
    Das wollte ich nur anmerken, falls gleich kommt "vielleicht geht deine DB nicht o.ä."

    Folgendes Problem:
    Ich plane für meine Seite Stammbäume über SQL zu machen. Ich dachte mir, ich fange mit dem "Leichtesten" an: der Suchfunktion. So halb funktioniert mein Script auch, er sagt mir, dass es keine Datensätze gibt, wenn er nichts findet. Aber es sind Datensätze drin und auch genau der, nach dem ich suche. Deshalb denke ich, dass irgendwo ein Fehler ist, ich weiß nur nicht wo.

    Hier meine Codes. Die Benutzerdaten zur DB ixxe ich.

    config.php
    PHP-Code:
    <?php
    //config.php
    error_reporting(E_ALL);
    define('MYSQL_HOST''xxx');
    define('MYSQL_USER''sqlxxx');
    define('MYSQL_PASS''xxx');
    define('MYSQL_DATABASE''dbxxx');
    ?>
    connecth.html
    PHP-Code:
    <form action="connecth.php" method="get">
    <
    input type="text" size="17" name="Inhalt"
    <
    input type "submit" value="OK">
    </
    center>
    </
    form
    connecth.php
    PHP-Code:
    <?php    

    error_reporting
    (E_ALL);    

    // Konfigurationsdatei laden 
    include 'config.php';       
    @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());    
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());  

    $sql "SELECT name FROM BRI WHERE name LIKE '%suchbegriff%' ";

    $res mysql_query($sql) or die ("Abfrage Fehler: "mysql_error()); 
    if ( (
    $anzahl_gefunden=mysql_num_rows($res)) == 0) {
        echo 
    "keine passenden Datensätze gefunden";
    } else {
        echo 
    "Anzahl gefundene Datensätze: $anzahl_gefunden<br />\n";
        while ( 
    $row mysql_fetch_array($res)) {
            
    // Hier erfolgt die Ausgabe des Suchergebnisses:
            
    echo $row['name']."<br />\n";
        }
    }


    ?>
    Die Datenbank ist wie folgt aufgebaut:
    DB = dbxxx
    Tabelle = BRI
    Felder = ID, title, name, ************, EMS, DOB, sire, dam

    Gesucht werden soll im Feld "name", z.B. nach der Katze "Belisha" oder alle Katzen mit dem Catterynamen "di micio".

    Versteht ihr?

    Ich hoffe, ihr könnt mir helfen! Wühle mich schon den kompletten Tag durchs Netz...

  • #2
    Und was meinst du liefert 'WHERE name = '%suchbegriff%'' ? Alle Kätzchen, die 'suchbegriff' in ihrem Namen haben...also das '$' nicht vergessen und die Variable $suchbegriff auch zuweisen:
    PHP-Code:
    $suchbegriff $_GET['Inhalt'

    Kommentar


    • #3
      *unschuldig* das hatten die mir in nem anderen Forum gesagt... Wenn man nicht weiß, wie, muss man halt auf alles und jeden erstmal hören. Dachte mir aber schon, dass es daran liegt. Dann probier ich mal deinen Code aus...

      noch ne dumme Frage. Wo genau muss ich das jetzt eingeben? Wenn ich das nur so in connecth.php eingebe, weiß er doch immer noch nicht, dass das die Eingabe aus connecth.html ist?!
      Zuletzt geändert von mi.lli; 01.03.2007, 19:14.

      Kommentar


      • #4
        Hi, also ein paar Grundlagen braucht man schon, wenn man programmieren will. Wohin alles andere führt, merkst du ja.

        noch ne dumme Frage. Wo genau muss ich das jetzt eingeben? Wenn ich das nur so in connecth.php eingebe, weiß er doch immer noch nicht, dass das die Eingabe aus connecth.html ist?!
        $suchbegriff = $_GET['Inhalt']
        Der Wert wird über GET übergeben. WOHER der kommt, ist mal total egal. Hauptsache er ist da. Und das musst du eben sicherstellen.

        (Frage nicht wie, sondern zeige deine Ansätze.)

        Kommentar


        • #5
          Alles klar. Danke schön für die Geduld

          Kommentar

          Lädt...
          X