if

PHPFlo

Mitglied
Hallo,
Ich habe mal eine Frage, ich habe eine Kalender-Tabelle, von eine Spalte Datum heißt. Nun habe ich eine Tabelle und wollte fragen wie ich eine if-Anweisung so setzen kann,dass er sagt:
wenn díe ersten Ziffern in der Spalte Datum von der Kalender datenbank eine 01.09 sind schreibe es in dieses Kästchen,wenn nicht nicht!
 
Meinst du denn eine HTML- oder eine MySQL-Tabelle?
Wahrscheinlich HTML?!
Und wenn, willst du abfragen, was der User eingegeben hat, oder willst du es selbst setzen, denn sonst wäre vielleicht JavaScript eher 'ne Lösung.

Aber, um wenigstens etwas mitzugeben:

PHP:
if (substr($inhalt_der_spalte, 0, 5) == "01.09") {
echo "Es ist der 01.09.";
}

Vielleicht wäre eine Switch-Abfrage aber besser (wenn du mehrere Werte vergleichen musst.
Ansonsten, wenn es komplexer zu werden droht, könnte man sich auch überlegen, auf Reguläre Ausdrücke zurückzugreifen.
Aber erst dann, wenn's wirklich zu komplex wird.

Oder meintest du doch eine Datenbank-Tabelle und wolltest nach einer MySQL-Query fragen?

Übrigens:
Bitte das nächste mal eine bessere Überschrift wählen "if" ist nicht gerade Aussagekräftig.
 
Oooh, jetzt seh' ich 's!
Da steht ja Datenbank!
Ist die Datums-Spalte denn vom Typ "DATE"?
Denn dann sieht das Datum ja so aus:

2003-09-01

Dann würde ich doch mal sagen, dass das Schlüsselwort "LIKE" zu verwenden ist.

Aber, so wie die Frage gestellt ist, geh' ich fast schon davon aus, dass dir das nicht so geläufig ist?!
Vielleicht solltest du mal 'n bisschen suchen, um mehr darüber in Erfahrung zu bringen!


Hier mal ein kleiner Auszug von 'ner Internet-Seite:

In den meisten Fällen werden Zeichenketten (engl. strings) verarbeitet.
SQL unterstützt die Arbeit mit Zeichenketten deshalb sehr komfortabel.
So ist es leicht möglich, einen Teilstring zur Selektierung anzugeben, der
in allen Feldern an allen Positionen getestet wird. Das Schlüsselwort dafür
ist LIKE, der folgende Befehl sucht alle Personen, die in Berlin wohnen,
egal ob der Name eines Bezirks angehängt wurde (Berlin-Kreuzberg,
Berlin-Mitte) oder nicht:
SELECT fname FROM address WHERE city LIKE "%Berlin%"
Dabei wird hinter das Schlüsselwort LIKE der Suchstring gestellt. Die
Prozentzeichen sind Platzhalter (engl. wildcards, joker), die in diesem Fall
beliebige andere Zeichen vor und nach dem Wort »warm« zulassen. Alle
Reisen in warme Länder sollten angezeigt werden.
Eine der häufigsten Fehlerquellen in SQL ist die Verwechslung der Platzhalter
mit den von Linux oder Windows bekannten, »*« und »?«. Achten
Sie unbedingt darauf, welche Platzhalterzeichen wo verwendet werden.
Hier eine Übersicht über die möglichen Angaben:
• %. Steht für keines oder beliebig viele Zeichen ohne irgendwelche
Einschränkung. Hier zwei Beispiele für die Anwendung:
6
• A%. Alle Worte, die mit A beginnen (Andorra, Albanien).
• %flug. Alle Worte, die mit dem Wort flug enden. (Rundflug, Hinflug).
• [A-E]%. Alle Worte, die mit den Buchstaben A bis E (A, B, C, D, E)
beginnen. Nur sinnvoll zusammen mit dem %-Zeichen. Damit können
Indizes sehr flexibel gehalten werden. Sehr dynamische Datenbanken
machen eine strenge Auswahl nach dem Alphabet oft schwierig.
So sind die Buchstaben X oder Y kaum belegt, A und E quellen
über. Beispiele:
• [A]n%. Worte, die mit An anfangen.
• [A-EG]%. Worte die mit A, B, C, D, E oder G anfangen.
• [XY]%. Worte, die mit X oder Y anfangen.
• [^U]. Worte, die nicht mit U beginnen. Damit lassen sich bestimmte
Bereiche ausschließen.
• _. Der Unterstrich ist das Ersatzzeichen für genau ein beliebiges Zeichen.
Ein Beispiel für die Anwendung auf zwei Zeichen lautet:
• "M__ er" findet diese Schreibweisen: Meier, Meyer, Maier. Aber
es findet auch: Mauer. Nicht gefunden wird dagegen: Maurer.
Wenn Sie nach den drei Sonderzeichen (»%«, »_« und »-«) suchen müssen,
können Sie diese Zeichen so verpacken: [%] ist ein richtiges Prozentzeichen,
[_] ein richtiger Unterstrich. Suchen Sie Prozentzeichen irgendwo,
schreiben Sie: "%[%]%". Die Klammer selbst können Sie auch mit [[]suchen.









Es können aber auch unter MySQL reguläre Ausdrücke, oder die Funktion "STRCMP" dazu genutzt werden.
 
Dann wäre es ganz nett, wenn du uns auch verraten würdest, wie du dein Problem gelöst hast, damit andere Leute, die ein ähnliches Problem haben, auch eine Antwort darauf finden können.

Mal abgesehen davon, vergessen leider all zu viele Leute immer wieder, dass MySQL eine recht umfangreiche Abfragesprache für Datenbanken ist. So hat MySQL selbst schon substr Funktionen weshalb es überflüssig ist auf eine unperformantere Methode wie LIKE zurückzugreifen.

http://www.mysql.com/doc/de/String_functions.html
 
Zurück