php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2008, 17:35  
Neuer Benutzer
 
Registriert seit: 10.12.2008
Beiträge: 4
mako befindet sich auf einem aufstrebenden Ast
Standard String überprüfen

Hi,

ich habe eine Spalte in der Datenbank(mysql) über Kursdaten als Text. Die heisst $termin.

$termin besteht überwiegend aus Datums. Beispielweise:
"17.05.2008,17.06.2008"

Manchmal steht in $termin aber auch ein Text:
"17.05.2008,17.06.2008,Weitere kursbeginne auf Anfrage!"

Wie kann ich überprüfen, ob die Variable termin auch Buchstaben beinhaltet:
Mein Ansatz war:

if (preg_match('#^[a-z]+$#i', $row['Termin']))

Aber da kriege ich unrichtige Ergebnisse!

Gruß
mako ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.12.2008, 17:42  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo mako,

was sind denn "unrichtige" Ergebnisse? Also was erwartest du, und was bekommst du?

Mit deinem regulären Ausdruck prüfst du momentan, ob in $row['Termin'] nur Buchstaben enthalten sind. Ein "^" am Anfang bedeutet "muss starten mit" und ein $ am Ende "muss enden mit".... das willst du ja aber eigentlich garnicht.


Ich schätze mal den Tipp: "Nicht so einen Murks in ein Datumsfeld speichern und für ein Datum in der DB datetime o.ä. Feldtypen verwenden" kann ich mir sparen"
agrajag ist offline  
Alt 10.12.2008, 17:42  
Erfahrener Benutzer
 
Benutzerbild von Phoscur
 
Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse:
Fortgeschritten
Phoscur wird schon bald berühmt werdenPhoscur wird schon bald berühmt werden
Standard

Das Pattern, das du verwendest, sucht einen String der nur aus Buchstaben besteht. Du solltest nochmal die Regex Zeichen ^ und $ im Handbuch nachsehen.

Der korrekte Plural von Datum ist Daten - leider.
"unrichtig" ist ein tolles Wort.

Edit: Subbi, ein paar Sekunden zu lahm.
__________________
Phoscur ist offline  
Alt 10.12.2008, 17:47  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Manchmal kann ich ohne Code und präzise Informationen helfen, manchmal aber auch nicht.

(zu langsam)
PTC ist offline  
Alt 10.12.2008, 17:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Im Klartext:

Code:
vereinfachte Positivprüfung: #^[0-9,\.]*$#
Negativprüfung:              #[a-z]#i
bzw. Negativprüfung:         #[^0-9,\.]#
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 10.12.2008, 20:57  
Neuer Benutzer
 
Registriert seit: 10.12.2008
Beiträge: 4
mako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
was sind denn "unrichtige" Ergebnisse? Also was erwartest du, und was bekommst du?
Sorry in der Eile habe ich übersehen, dass "unrichtig" ja eigentlich falsch ausgedrückt ist. lol

Zitat:
Mit deinem regulären Ausdruck prüfst du momentan, ob in $row['Termin'] nur Buchstaben enthalten sind. Ein "^" am Anfang bedeutet "muss starten mit" und ein $ am Ende "muss enden mit".... das willst du ja aber eigentlich garnicht.
Genau daran lag es. Musste "^" und "$" rausnehmen und es klappte dann auch.


Zitat:
Ich schätze mal den Tipp: "Nicht so einen Murks in ein Datumsfeld speichern und für ein Datum in der DB datetime o.ä. Feldtypen verwenden" kann ich mir sparen"
Das sehe ich auch so allerdings an der Struktur der Tabelle darf nichts geändert werden.(Ist halt vorgabe.) Die Termine sind allerdings einzeln als Datetime zusätzlich in DB vorhanden.

Gruß und Danke für Eure Hilfe
mako ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Variablen überprüfen mit isset() Jumper PHP Tipps 2008 8 13.09.2008 13:36
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
mit preg_match string überprüfen Flor1an PHP Tipps 2008 12 09.06.2008 17:55
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
Überprüfen ob Eingabe bestimmten String beinhaltet Oswald Bommes PHP Tipps 2006 2 07.06.2006 08:37
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
String (Dateipfad) auf Länge und Leerzeichen überprüfen HTML, Usability und Barrierefreiheit 4 03.06.2005 12:34
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
php code als string umwandeln PHP Tipps 2005 8 23.02.2005 18:03
[PHP] Überprüfen ob ein String numerisch ist. PHP Tipps 2005 5 30.01.2005 14:33
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php string überprüfen, php string länge prüfen, string überprüfen php, php string auf länge prüfen, php string anfang prüfen, php stringlänge prüfen, string länge prüfen php, string auf länge prüfen php, php string überprüfung, php strings überprüfen, mysql string prüfen, php anfang eines strings prüfen, php variable string prüfen, php auf string überprüfen, php variable auf string prüfen, string auf länge überprüfen php, php variable auf länge prüfen, variable auf länge prüfen php, $row auf buchstaben überprüfen, string anfang prüfen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum