überprüfen, ob bereits vorhanden
mabu
- datenbank
Hi!
Ich habe eine Datenbank in einer so ähnlichen Struktur wie
| Vorname | Nachname
--------------------------------------
Zeile 1 | max | mustermann
Zeile 2 | toni | muster
Ich möchte nun überprüfen, ob ein bestimmter sting schon irgendwo in der spalte "Nachname" vorhanden ist.
Geht das mit einer einfachen Search-Funktion? Ich kenn mich mit MySQL sowieso nicht so gut aus...
mfg,
mabu
Halihallo mabu
Ich habe eine Datenbank in einer so ähnlichen Struktur wie
| Vorname | Nachname
Zeile 1 | max | mustermann
Zeile 2 | toni | muster
Ich möchte nun überprüfen, ob ein bestimmter sting schon irgendwo in der spalte "Nachname" vorhanden ist.
Geht das mit einer einfachen Search-Funktion? Ich kenn mich mit MySQL sowieso nicht so gut aus...
Was ist eine Search-Funktion? - SELECT meinst du? - Ja:
SELECT Nachname FROM Tabelle WHERE Nachname="den, den du überprüfen willst"
liest du anschliessend aus der Datenbank-Response (Antwort der DB, also die auf die Suchkriterien passenden Datensätze) den Wert für Nachname aus, kriegst du bei nichtexistierendem die "Resultset"-Länge 0 oder bei existierendem genau den Nachnamen bzw. eine Länge der selektierten Antworten grösser 0. Also:
$result = 'SELECT Nachname FROM Tabelle WHERE Nachname="mabu"'
if ($result = 'mabu') {
Ja, ich existiere bereits!
} else {
Nein, ich existiere nicht!
}
*pseudo-programming!* ;)
Arbeitest du mit einer Programmiersprache nehm ich an? - Wenn ja, mit welcher?
Viele Grüsse
Philipp
Halihallo mabu
Ich habe eine Datenbank in einer so ähnlichen Struktur wie
| Vorname | Nachname
Zeile 1 | max | mustermann
Zeile 2 | toni | muster
Ich möchte nun überprüfen, ob ein bestimmter sting schon irgendwo in der spalte "Nachname" vorhanden ist.
Geht das mit einer einfachen Search-Funktion? Ich kenn mich mit MySQL sowieso nicht so gut aus...
Was ist eine Search-Funktion? - SELECT meinst du? - Ja:
SELECT Nachname FROM Tabelle WHERE Nachname="den, den du überprüfen willst"
liest du anschliessend aus der Datenbank-Response (Antwort der DB, also die auf die Suchkriterien passenden Datensätze) den Wert für Nachname aus, kriegst du bei nichtexistierendem die "Resultset"-Länge 0 oder bei existierendem genau den Nachnamen bzw. eine Länge der selektierten Antworten grösser 0. Also:
$result = 'SELECT Nachname FROM Tabelle WHERE Nachname="mabu"'
if ($result = 'mabu') {
Ja, ich existiere bereits!
} else {
Nein, ich existiere nicht!
}
*pseudo-programming!* ;)
Arbeitest du mit einer Programmiersprache nehm ich an? - Wenn ja, mit welcher?
Viele Grüsse
Philipp
Naja, damit kannst du nur nach einem exakten namen suchen.
Der richtige SQL-Ausdruck währe wohl:
SELECT * FROM tabelle WHERE Nachname LIKE '%suchstring%';
Wobei die %-Zeichen als Pltzhalt fungieren und so auch
"mustermann" als ergebiss geliefert wird, wenn du nach "muster" suchst.
Andi
Naja, damit kannst du nur nach einem exakten namen suchen.
Der richtige SQL-Ausdruck währe wohl:
SELECT * FROM tabelle WHERE Nachname LIKE '%suchstring%';
Bzw. bei case-sensitiven DB's (Oracle etc.) dann
SELECT Count(*) AS howmany FROM tabelle
WHERE lower(nachname) LIKE lower('%suchstring%');
Nur den Count(*) zu holen empfiehlt sich sehr, denn wenn die Tabelle 2 Millionen Einträge hat und der Suchstring = "a" ist, holt man ne Unmenge Daten über die Verbindung, obwohl eine Zahl (=1-2 Bytes) reichen würde...