Seite 1 von 1
was schreibt man für "beinhaltet" in einer sql abf
Verfasst: 14.04.2006 19:47
von yks
hallo,
wenn ein feld einen textinhalt hat, den ich aber nicht kenne, wie kann ich per sql-abfrage das finden (zb bzgl der signatur) ?
also wie sage ich, das feld 'beinhaltet irgendwas' ?
danke + viele grüße, yks
Re: was schreibt man für "beinhaltet" in einer sql
Verfasst: 14.04.2006 20:11
von MagMo
Hi,
yks hat geschrieben:...also wie sage ich, das feld 'beinhaltet irgendwas' ?
so:
Code: Alles auswählen
$sql = "SELECT *
FROM tabelle_xyz
WHERE feld_xyz LIKE '%" . $SuchBeg . "%'";
Wobei du tabelle_xyz natürlich mit der zu durchsuchenden Tabelle und feld_xyz mit dem zu durchsuchenden Feld ersetzen musst. Die Variable $SuchBeg enthält deinen Suchbegriff.
Grüße
MagMo
Verfasst: 14.04.2006 20:18
von yks
hi magmo,
dank dir, wobei noch etwas unklar bleibt :
zum einen habe ich ja keinen festen suchbegriff, ich will zb nur wissen, wer eine signatur überhaupt hat, weiß aber natürlich nicht was drin steht.
dh, ich weiß nur, daß das feld etwas 'beinhaltet', aber nicht, ob zb zahlen oder text.
die abfrage :
Code: Alles auswählen
SELECT * FROM teeest_users WHERE user_website LIKE '%suchbegriff%'
kenne ich.
überlege gerade, was der unterschied zu deiner abfrage ist :
Code: Alles auswählen
$sql = "SELECT * FROM tabelle_xyz WHERE feld_xyz LIKE '%" . $SuchBeg . "%'";
die noch 2 punkte und leerräume jeweils davor und danach mehr hat ?
viele grüße, yks
Verfasst: 14.04.2006 21:00
von MagMo
Hi,
yks hat geschrieben:...überlege gerade, was der unterschied zu deiner abfrage ist...
Der Unterschied ist, dass bei deiner Abfrage der Suchbegriff fest in der Abfrage vorgegeben ist, in der von mir geposteten Abrfrage ist der Suchbegriff variabel (je nach Inhalt der Variablen).
yks hat geschrieben:zum einen habe ich ja keinen festen suchbegriff, ich will zb nur wissen, wer eine signatur überhaupt hat, weiß aber natürlich nicht was drin steht.
Ach so war das gemeint. Nimm folgendes:
Grüße
MagMo
Verfasst: 14.04.2006 21:12
von yks
bingo, das ist es

danke
in der von mir geposteten Abrfrage ist der Suchbegriff variabel (je nach Inhalt der Variablen).
hast du vielleicht noch ein beispiel dafür ?
*verstehe noch nicht ganz den unterschied zu
LIKE '%suchbegriff%'
viele grüße, yks
Verfasst: 16.04.2006 17:34
von MagMo
Hi,
yks hat geschrieben:hast du vielleicht noch ein beispiel dafür ?
*verstehe noch nicht ganz den unterschied zu
LIKE '%suchbegriff%'
Ein ganz einfaches Beispiel:
Wenn du mehrere Begriffe suchts, dann must du den Code entweder mehrfach schreiben und aufrufen:
Code: Alles auswählen
$sql = "SELECT * FROM teeest_users WHERE user_website LIKE '%suchbegriff1%'";
...Datenbankabfrage...
$sql = "SELECT * FROM teeest_users WHERE user_website LIKE '%suchbegriff2%'";
...Datenbankabfrage...
$sql = "SELECT * FROM teeest_users WHERE user_website LIKE '%suchbegriff3%'";
...Datenbankabfrage...
...usw...
oder
du gestalltest das ganze variabel, z.B. so:
Code: Alles auswählen
function suche($SuchBeg)
{
$sql = "SELECT * FROM tabelle_xyz WHERE feld_xyz LIKE '%" . $SuchBeg . "%'";
...Datenbankabfrage...
}
dann brauchst du für die einzelnen Suchbegriffe nur noch die Funktion aufrufen:
Code: Alles auswählen
suche('suchbegriff1');
suche('suchbegriff2');
suche('suchbegriff3');
...usw...
Der Unterschied liegt dadrin, dass der letzte Code erheblich flexibler einsetzbar ist als der erste, der immer nur für ein Suchbegriff gilt. Funktionieren tun beide Codearten aber auf diese selbe Art und Weise.
Grüße
MagMo