kostenloser Webspace werbefrei: lima-city


Suchscript erweitern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.

    wie kann ich bei meinen script einstehlen das es egal ist ob ich das wort gro? oder klein shriebe. derzeit funktioniert es nur wenn ich es klein schreibe (suchbegriff). ich hoffe ihr k?nnt mir weiter helfen.

    $dbname = 'db';
    
    $dbh = mysql_connect('mysql.lima-city.de','user','passwort');
    mysql_select_db($dbname, $dbh);
    
    
    $sqlab = "select * from karten";
    $sqlab .= " where name like '%" . $suchbegriff . "%'";
    
    $res = mysql_query($sqlab);
    $num = mysql_num_rows($res);
    if ($num==0) echo "Keine Karte gefunden!";
    
    while ($dsatz = mysql_fetch_assoc($res))
    {
    
    echo "<table width=100%  border=0 cellspacing=0 cellpadding=0>
      <tr>
        <td width=13%><font face=Verdana size=1>&nbsp;&nbsp;";
    	echo $dsatz['nr'];
    echo "</font></td><td width=70%>";
    echo "&nbsp;<a href='#'><font face=Verdana size=1>". $dsatz['name']."</font></a>";
    echo "</td>
        <td width=17%><font face=Verdana size=1>";
    echo $dsatz['packung'];
    echo "</font></td>
      </tr>
    </table>
    ";
    
    }


    Beitrag ge?ndert am 31.10.2005 19:09 von boyman

    Beitrag ge?ndert am 31.10.2005 19:10 von boyman
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Verwandel doch einfach den eingegeben Begriff mit hilfe der funktion strtolower(); in kleinbuchstaben dann d?rfete es doch kein Problem sein, oder?
  4. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.


    Verwandel doch einfach den eingegeben Begriff mit hilfe der funktion strtolower(); in kleinbuchstaben dann d?rfete es doch kein Problem sein, oder?


    Verstehe jetzt nicht was du meinst!
  5. Dein Problem ist doch wenn man etwas gro? schreib das man dann ncihts findet und die funtkion die ich ganant habe macht alles zu kleinbuchstaben.
  6. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.


    Dein Problem ist doch wenn man etwas gro? schreib das man dann ncihts findet und die funtkion die ich ganant habe macht alles zu kleinbuchstaben.


    das stimmt, aber wo m?sste ich diese Funktion einbauen damit es funktioniert?
  7. ich glaube das ist eher eine Frage, welche Collation du f?r deine Tabelle verwendest.
    Geh mal in PHPmyAdmin und stelle bei der Suchtabelle die Collation latin1_general_ci ein. Damit m?sste MySQL dann auch ?ber Gro?- und Kleinschreibung hinwegsehen (funzt jedenfalls bei meinem Login problemlos, wenn ich mal gro? und ein anderes Mal Kleinschreibung verwende)
  8. das:
    $sqlab .= " where name like '%" . $suchbegriff . "%'";

    in das $sqlab .= " where lower(name) like lower('%" . $suchbegriff . "%')";

    m?sste glaube ich gehen probiers mal in phpmyadmin, ich habe zurzeit leider keine volle db

    mfg apollo13

    P.s: warum im sql-string: da du dass sql feld name sowie deinen suchbegriff klein haben musst, um vergleichen zu k?nnen.
  9. So m?sste es (eigentlich) gehen:
    ...
    $sqlab = "select * from karten";
    $sqlab .= " where name like '%" . strtolower($suchbegriff). "%'";
    ...


    Beitrag ge?ndert am 31.10.2005 19:37 von phattek
  10. strtolower() alleine reicht nicht. Um eine Suche wirklich unabh?ngig von der Schreibweise zu machen, muss sowohl das Suchwort, als auch der zu durchsuchende Text einheitlich klein- oder gro?geschrieben sein. F?r MySQL empfiehlt sich die Gro?schreibung:

    http://dev.mysql.com/doc/refman/4.0/de/case-sensitivity-operators.html

    http://dev.mysql.com/doc/refman/4.0/de/string-comparison-functions.html


    So m?sste das dann aussehen:

    $sqlab .= " where UPPER(name) like UPPER('%" . $suchbegriff . "%')";

    MfG
    alopex
  11. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.


    ich glaube das ist eher eine Frage, welche Collation du f?r deine Tabelle verwendest.
    Geh mal in PHPmyAdmin und stelle bei der Suchtabelle die Collation latin1_general_ci ein. Damit m?sste MySQL dann auch ?ber Gro?- und Kleinschreibung hinwegsehen (funzt jedenfalls bei meinem Login problemlos, wenn ich mal gro? und ein anderes Mal Kleinschreibung verwende)


    Danke es funktioniert.

  12. strtolower() alleine reicht nicht. Um eine Suche wirklich unabh?ngig von der Schreibweise zu machen, muss sowohl das Suchwort, als auch der zu durchsuchende Text einheitlich klein- oder gro?geschrieben sein. F?r MySQL empfiehlt sich die Gro?schreibung:

    http://dev.mysql.com/doc/refman/4.0/de/case-sensitivity-operators.html

    http://dev.mysql.com/doc/refman/4.0/de/string-comparison-functions.html


    So m?sste das dann aussehen:

    $sqlab .= " where UPPER(name) like UPPER('%" . $suchbegriff . "%')";

    MfG
    alopex



    mein lower h?tte doch auch gereicht oder ;)

    mfg apollo13
  13. Sicher, ich war nur mal kurz vom Netz getrennt, als ich meinen Post geschrieben habe. Und nachdem ich wieder online war und "Absenden" gedr?ckt hatte, standen schon viele andere Posts (so auch deiner) da. Das liegt an dem bl?den "mybycall"-Internet-Provider.
  14. @alopex
    Was interessant w?re in diesem Fall:
    Gibt es Unterschiede zwischen upper und lower von der Rechenzeit her?

    mfg apollo13

    //Edit:

    Wie sucht man nach mehreren W?rtern, bei mir gehts immer nur mit einem ?

    Beitrag ge?ndert am 31.10.2005 20:01 von apollo13
  15. Glaube ich nicht. Bei alten 8-Bit-Zeichens?tzen wurde da fr?her nur ein Bit gesetzt (upper) oder gel?scht (lower). Heute wird wohl eine Tabelle abgegrast. Die Ausf?hrungszeit d?rfte lediglich davon abh?ngen, wie viele Zeichen konvertiert werden m?ssen. Da meist mehr Kleinbuchstaben als Gro?buchstaben verwendet werden, k?nnte LOWER() schneller fertig sein. Ob man den Unterschied messen kann, bezweifle ich allerdings.

    Ich habe UPPER() nur genommen, weil es in der Online-Doku stand, und ich zu faul war, erst nachzuschauen, ob es ein LOWER() ?berhaupt gibt.
  16. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.

    Was m?sste ich jetzt machen, damit ich nach zwei suchkriterien suchen k?nnte.

    Beispiel: Spalte a nach eine namen (zb. Florian) und gleichzeitig in Spalte b nach alter (zb. 17)

    Hoffe das ihr verstanden habt was ich meine.
  17. naja, indem du ein and benutzt und die zweite where anh?ngst. Das machts dann aber so, dass es NUR funktioniert, wenn bedies ?bereinstimmt.


    $sqlab .= " where UPPER(name) like UPPER('%" . $suchbegriff . "%') AND UPPER(alter) like UPPER('%" . $suchbegriff2 . "%')";


    Ansonsten k?nnte man noch OR usw benutzen...^^

  18. Wie sucht man nach mehreren W?rtern, bei mir gehts immer nur mit einem ?

    Du kannst den Suchstring einfach an Hand der Leerzeichen trennen und dann mit jedem Wort einzeln eine Suche durchf?hren. Die Ergebnisse kannst du dann z.B. in ein Array schreiben und anschlie?end noch ?berpr?fen ob ein Eintrag mehrmals vorkommt, was ja dann hei?t, dass dieser Eintrag bei beiden (oder noch mehr) Suchbegriffen einen Treffer geliefert hat. Seine Relevanz ist dann also h?her und er sollte beim Anzeigen der Ergebnisse weiter oben stehen.
    Soweit zur Theorie, die praktische Umsetzung ?berlasse ich dir.
  19. Autor dieses Themas

    boyman

    Kostenloser Webspace von boyman

    boyman hat kostenlosen Webspace.


    naja, indem du ein and benutzt und die zweite where anh?ngst. Das machts dann aber so, dass es NUR funktioniert, wenn bedies ?bereinstimmt.
    $sqlab .= " where UPPER(name) like UPPER('%" . $suchbegriff . "%') AND UPPER(alter) like UPPER('%" . $suchbegriff2 . "%')";
    Ansonsten k?nnte man noch OR usw benutzen...^^

    wie w?rde da denn der pfad ausschaun?

    .../suche.php?suchbegriff=Florian....

    Und wie geht es da weiter?
  20. .../suche.php?suchbegriff=Florian&suchbegriff2=17

    ??^^"
  21. Du musst diese Beiden Kategorien in deiner MYSQL Datenbank erstellen und dann kannst du auch danach suchen
  22. 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!