Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 23.05.2003, 17:12   #1
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg

strtolower bei db-abfrage


hi allerseits!

dank eurer hilfe hab ich jetzt mal die fast wirklich gute suchfunktion online.

nun steh ich aber vor dem problem, dass ich zwar leicht die übergebenen suchbegriffe in kleinbuchstaben bring (stringtolower), allerdings bei der db-abfrage vor dem problem steh, dass dort die strings ja nicht so stehen - kann mir da jemand einen trick verraten, wie ich das hinbekomm?!?!

hier mein code:

PHP-Code:
$suchbegriff $_POST['suchbegriff'];
$suchbegriff trim($suchbegriff);
$suchbegriff strtolower($suchbegriff); // alles in kleinbuchstaben
$suchart $_POST['suchart']; // welche verknüpfungsart
// richtige suchart definieren
global $verkn$weg;
switch (
$suchart) {
    case 
0:
    
$verkn "AND";
    
$weg 4;
    break;
    case 
1:
    
$verkn "OR";
    
$weg 3;
    break;
    default:
    
$verkn "AND";
    
$weg 4;
    break;
}

$teilstr explode(" ",$suchbegriff); 
foreach (
$teilstr as $ausgabe) {
    
$suchstring1.= " blogmessage LIKE '%$ausgabe%' $verkn";
    
$suchstring2.= " commentmessage LIKE '%$ausgabe%' $verkn";
}

global 
$suchstring1// durchsucht die blogeinträge
$laenge strlen($suchstring1);
$suchstring1 substr($suchstring1,0,$laenge-$weg); // -4 bei AND, -3 bei OR

global $suchstring2// durchsucht die kommentare
$laenge strlen($suchstring2);
$suchstring2 substr($suchstring2,0,$laenge-$weg); // -4 bei AND, -3 bei OR 

Geändert von prefix (23.05.2003 um 20:58 Uhr).
prefix ist offline   Mit Zitat antworten


Alt 23.05.2003, 19:15   #2
TP-Junior
 
Registriert seit: Jan 2003
Krypthonas macht alles soweit korrekt
Hhhhmm ich verstehe deine Frage nicht ^^

Ich interpretiere deine Frage irgendwie so dass die Strings in deiner DB nicht klein (stringtolower) geschrieben sind?¿?

Was soll das für ein Sinn ergeben sie so in der DB zu speichern? Du kannst diese vor den Ausgaben doch mit stringtolower bearbeiten bzw anzeigen lassen.
Krypthonas ist offline   Mit Zitat antworten
Alt 23.05.2003, 19:18   #3
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
die strings in der db sind in einem LONGTEXT feld definiert. natürlich NICHT mit strtolower, weil es sich um die ausgabe für einen weblog handelt.

genau deshalb habe ich das problem, dass ich sie ja in der generierten abfrage (siehe code) eben nur so rausbekomme (select from blogmessage......) wie sie eben sind - groß bzw. kleingeschrieben :-(
prefix ist offline   Mit Zitat antworten
Alt 23.05.2003, 21:06   #4
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Kann deine frage eigentlich nicht nachvollziehen.
Die Suche mit like ist eigentlich caseinsensitiv (soeben getestet)

erst mir dem sql befehl rlike wird die suche casesensitiv.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 23.05.2003, 21:10   #5
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
hmmm, danke dir ! das hab ich bisher nicht gewusst... hab ein paar mal getestet und nicht so recht gefunden - am besten mach ich folgendes: ich schau es mir nochmal genau an - ich denk schon fast ("schandeübermich"), ich hab das wirklich verkompliziert.... thx :-)

und grüsse nach ***** :-)

zensiert

EDIT
warum zensiert?? dürfen keine orte genannt werden?? anscheinend nicht - aber ist ok :-)

Geändert von prefix (25.05.2003 um 14:30 Uhr).
prefix ist offline   Mit Zitat antworten
Alt 25.05.2003, 14:29   #6
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
nein nein! die LIKE-bedingung in mysql unterscheidet doch tatsächlich zwischen groß- und kleinschreibung :-(

schaut euch mal diesen blogeintrag an!

das erste wort in der 3. zeile ist "happy" - also kleingeschrieben.

jetzt folgendes:

sucht hier bitte einmal nach "happy" --> treffer, dann nach Happy --> kein treffer!

somit ist das problem, dass ich die ausgegebenen strings nicht korrekt überprüfen kann!

als lösung würde mir jetzt mal folgendes einfallen:

- mit dem instr-befehl abfragen, nachdem ich vorher die einträge aus der db gezogen und mit strtolower (auch den suchbegriff) alles in kleinbuchstaben umgewandelt habe.

das ist allerdings eine minus-lösung, da sehr anti-performant.

hat jemand von euch eine idee dazu?

Geändert von prefix (25.05.2003 um 14:33 Uhr).
prefix ist offline   Mit Zitat antworten
Alt 25.05.2003, 15:06   #7
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
versuch die tabellenfelder selbst zu 'verkleinern' das geht mit dem sql-befehl lower()

also
versuch mal das

PHP-Code:
foreach ($teilstr as $ausgabe
{
$ausgabe strtolower($ausgabe);
    
$suchstring1.= " lower(blogmessage) LIKE '%$ausgabe%' $verkn";
    
$suchstring2.= " lower(commentmessage) LIKE '%$ausgabe%' $verkn";

obwohl ich immer noch der meinung bin, dass es auch anders gehen sollte.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 25.05.2003, 15:07   #8
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
yep, das ist die lösung - danke dir für deine geduld und hilfe :-)

bist verewigt ;-)
prefix ist offline   Mit Zitat antworten
Alt 25.05.2003, 15:12   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
bleibt seltsam

http://www.mysql.com/doc/en/Case_sensitivity.html

however - hauptsache es geht.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
strtolower bei db-abfrage strtolower bei db-abfrage
« Frage zu Felddeklaration in DB | Click Counter, Text Counter, Link Counter,.....??????????? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:17 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67