kostenloser Webspace werbefrei: lima-city


Problem mit Suchfunktion,...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Moin,

    ich wollte eine Suche basteln, mit dem Suchparameter "LIKE", doch aus irgendwelchen mir unerklärlichen Gründen funktioniert die Sache nicht.

    Der Code sieht wie folgt aus:

    <?php
    
    $query = "SELECT * FROM accounts WHERE name LIKE '$spieler'";
         $result = mysql_query($query);
        while($r = mysql_fetch_object($result))
        {
    
         $name = $r->name;
    
         if(isset($name))
          {
    
          echo "<u>Ergebnis:</u><br><br>";
          echo "<a href=\"index.php?site=spieler_edit&spieler=$name\">$name</a>";
    
          }
          else
          {
          echo "Spieler nicht gefunden!";
          }
          }
    ?>


    Also das ist jetzt nur der Code-Schnipsel, der alles was so ähnlich ist wie $spieler ( Das ist die Eingabe in das Suchfeld ) finden, und auflisten soll.

    In der DB stehen 3 Spielernamen:
    Azadoras
    Azador
    Aza'doras

    Gebe ich nun bei der Suche "Aza" ein, dann erhalte ich aber als Ausgabe weder "Spieler nicht gefunden" und auch nicht die 3 Spielernamen, sondern einfach eine leere Seite.

    Kann mir wer sagen was ich da falsch gemacht habe ?

    Danke schoneinmal für eure Antworten!

    Greetz,
    Aza
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du solltest einfach hinter LIKE '$spieler' noch einen Platzhalter hängen, der nach weiteren Zeichen sucht. Andernfalls wird nur nach 'Aza' gesucht, was ja aber in der Datenbank nicht vorhanden ist. Die korrekte Syntax lautet LIKE '%$spieler%', das sucht nach allen Vorkommen von 'Aza', egal ob davor oder danach noch weitere Zeichen stehen. Ich glaube es wird nicht zwischen Groß- und Kleinschreibung unterschieden, aber da bin ich mir nicht mehr sicher, da müsstest du testen.

    Nachtrag
    Abgesehen davon solltest du nicht in der while-Schleife echo 'Ergebnis' schreiben, da so bei jedem Treffer diese Überschrift erscheinen würde. Speicher deine Suchergebnisse am besten in einem Array zwischen und gib dieses erst im Anschluss an die while-Schleife aus.
    Wenn das Array leer sein sollte, kannst du sagen 'Spieler nicht gefunden', anderenfalls machst du eine schön formatierte Ausgabe.

    Beitrag geändert: 26.7.2007 14:28:29 von tct
  4. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Danke dir, klappt jetzt wunderbar!
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!