• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

MySQL-Such Parser

  • Ersteller killerchicken_inaktiv
  • Erstellt am

killerchicken_inaktiv

Guest
Ich muss ne suchfunktion fuer ne db schreiben, und da wollte ich wissen ob jemand von euch schon was vorgefertigtes kennt (also moeglichst mit +, -, and, or, nor unterstuetzung)... Hab naemlich wenig Lust das selbst zu schreiben, konnte allerdings nichts dazu finden... Ein paar Dinge hab ich gefunden, die dann aber nie das gewuenschte Resultat erbracht haben oder eben mal so locker 250 $ kosten sollen. Waere nice wenn jemand ne kostenlose Loesung kennt.

Vielen Dank fuer jeden Tip
Sebastian
 

The_Company

Guest
Suchfunktion für MySQL?
"Meine Db ist weg, wo ist sie?" oder was?
 

Wiseguy3

Guest
Nein, ich denke er such eine Suchmaschine für MySQL, die sowas kann:

"Finde alle Einträge mit name=Meyer, Vorname!=Klaus AND age=37 OR children=2"

Also eine, die Suchanfragen über ein Formular in korrekte Queries umwandelt.
 

killerchicken_inaktiv

Guest
Jup, sowas google-technisches eben... also einfach ein feld, du gibst ein 'test trest testet" -keintest
 

Wiseguy3

Guest
Ich verstehe irgendwie nicht, was das Problem eigentlich ist. Eigentlich isses doch bloss ne Suchen&Ersetzen Routine - ist da wirklich n richtiger Parser vonnöten?
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
tjo die heutige jugend brauch alles vorgecoded, selber denken und coden ist aus :D
 

pericolum

Guest
rofl lern die befehle auswendig weißtde was du könntest auch ms access benutzen da gibts sowas ... :[
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
wasn das für ne tolle antwort das hat nix mit befehle lernen zu tun sondern man muss halt nen parser schreiben der einem aus nem suchstring das richtige query bastelt ^^
 
Mitglied seit
03.08.2002
Beiträge
3.257
Reaktionen
14
Meine selbstgeschriebene db Klasse sieht ca so aus, aber ist noch unfertig und sie bugt noch etwas D:


bsp:

//table + modus auswählen, den man haben will
$db->prepare('produktgruppe', 'SELECT');

//Felder
$db->get('name');
$db->get('id');

//WHERE (bisher nur AND)
$db->assign('inshop', 1);
$db->assign('available', 1);

//order
$db->order('name', 'asc');

//limit
$db->limit(0, 10);

$result = $db->execute();

Aber so heftigere Queries mit JOINS muss man noch selber eingeben und assigns buggen irgendwie noch etwas

Eigentlich ne nette Sache, gerade beim Insert von grösseren Formularen, wenn man sich nicht n Wolf beim query tippen will, aber ist wie gesagt leider noch nicht fertig und buggt auch noch.

Ist aber keine leichte Aufgabe, was dir da gestellt wurde ;)
 

killerchicken_inaktiv

Guest
OMG, ich bin faehig den Schrott zu schreiben, ich hatte nur gerade keine Lust weil es halt eben doch ein klein wenig Arbeit ist und ich ein bissel Stress hatte. Ich dachte nur, dass jemand vielleicht zufaellig sone Funktion kennt, die ich dann schnell angepasst haette... Da es soetwas aber wohl nicht gibt, werde ich mich halt selbst an die Arbeit machen, ist ja auch kein Problem ;)
 

gim~li

Guest
nunja, was gibts da gross zu "parsen".
mit explode und konsorten spaltest du deinen suchstring an allen leerzeichen auf. dann hast du ein array aus strings. jetzt checkst du ob der erste buchstabe in deinem string ein zeichen wie +, -, etc ist und bastelst daraus dann ein mysql query.

oder hab ich da irgendwas falsch verstanden?
 

killerchicken_inaktiv

Guest
jo, es soll naemlich auch so gehen:

"drei zusammenhaengende woerter" + test - sonstwas

Alles in allem kein grosses Problem, ich hatte nur gedacht jemand wuesste vielleicht was... bin btw fast fertig, also ists jetzt auch egal :)
 
Oben