SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQL

MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #31  
Alt 24.11.2010, 15:27:40
rei rei ist offline
Anfänger
 
Registriert seit: Sep 2010
Ort: Sünching bei Straubing - Regenburg
Alter: 46
Beiträge: 17
rei befindet sich auf einem aufstrebenden Ast
AW: Reguläre Ausdrücke sind auch nicht ohne

Ich bin auch kein Fan davon:
-nach einer Woche weiß man nicht mehr was man sich dabei gedacht hat
-Änderungen sind gerne fehlerträchtig
-Die Sprache der Mengen (Reguläre Sprache) wird vom Menschen gern fehlinterpretiert
-Es kann bei Ausnahmen ('aber nicht') schnell ein riesen Salat entstehen
-Es kann nicht alles abgedeckt werden (mathematisch bewiesen)
-...

z.B.:
das korrekte filtern einer einfachen E-Mail-Adresse (asd.asd-f.as@a.s-d.com) 'sieht' unter regex sch***e aus.
[a-zA-Z0-9]+[a-zA-Z0-9.-_]+[a-zA-Z0-9]+@[a-zA-Z0-9]+[a-zA-Z0-9]+[a-zA-Z0-9.-_]+.[a-zA-Z0-9]+ (fehlerhaft, aber die Richtung stimmt)
oder so ähnlich.
Da sind die Filter-Funktionen in PHP5 schon leichter ;)
filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);
__________________
Meine Tochter: kleine Frau ganz gross

Reinhard Neidl Webprogrammierung
Mit Zitat antworten
  #32  
Alt 24.11.2010, 16:49:31
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 43
Beiträge: 1.938
cortex befindet sich auf einem aufstrebenden Ast
AW: Reguläre Ausdrücke sind auch nicht ohne

Zitat:
Zitat von rei Beitrag anzeigen
nach einer Woche weiß man nicht mehr was man sich dabei gedacht hat
und

Zitat:
Zitat von rei Beitrag anzeigen
Änderungen sind gerne fehlerträchtig
imho eine frage der dokumentation und damit ein generelles problem. ich hatte das problem jedenfalls noch nicht.

Zitat:
Zitat von rei Beitrag anzeigen
Die Sprache der Mengen (Reguläre Sprache) wird vom Menschen gern fehlinterpretiert
und

Zitat:
Zitat von rei Beitrag anzeigen
Es kann bei Ausnahmen ('aber nicht') schnell ein riesen Salat entstehen
nicht umsonst gelten reguläre ausdrücke als die königsdisziplin bei der stringverarbeitung.

Zitat:
Zitat von rei Beitrag anzeigen
Es kann nicht alles abgedeckt werden (mathematisch bewiesen)
ein modell kann die realität selten vollständig abbilden. darüber hinaus würden mich quellen / belege zu diesem statement interessieren.

Zitat:
Zitat von rei Beitrag anzeigen
Da sind die Filter-Funktionen in PHP5 schon leichter
dass die filter-funktionen bis dato ein schatten-dasein in der entwickler-gemeinde fristen, hat gute gründe:

- die api ist (noch) inkonsistent (änderungen in den funktionsnamen zwischen unterschiedlichen php-versionen)
- die api ist sehr komplex (unmengen konstanten, optionen und flags)

als (auch nur) wrapper für reguläre ausdrücke müssen sich die filter-funktionen erst noch das vertrauen der entwickler in der praxis verdienen.

davon abgesehen ist das ganze sicher ein schritt in die richtige richtung.

cx
Mit Zitat antworten
  #33  
Alt 26.11.2010, 05:12:23
-sensemann- -sensemann- ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 53
Beiträge: 37
-sensemann- befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Zitat:
Zitat von thomas_w Beitrag anzeigen
ja der REGEX... war noch nie mein Freund...(leider),
aber Deine Beispiel funktionieren gut mit meinen Beispieldaten (siehe #4).
Bist Du sicher ? Setz mal eine Spalte Daten wie Sie sein sollen.

PHP-Code:
INSERT INTO test_string VALUES
1'1234;12345;12456;1234567;12345678'),
2'1234;12345;12456;1234567;12345678'),
3'1234;12345;12456;1234567;1;2345678'),
4'123456;123456;123456;123456;234567'); 
und dann teste nochmal.

Gruß
-sensemann-
Mit Zitat antworten
  #34  
Alt 26.11.2010, 07:57:26
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 9
Beiträge: 395
thomas_w befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Wie waren die genauen Prüfkriterien noch mal?

In meiner Stored Function habe ich ja nur die Anzahl der ";" ermittelt.

Den REGEXP muss man vermutlich umschreiben, (da muss ich ein wenig üben). Sicherlich hat de REGEX seine Grenzen irgendwo..

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #35  
Alt 26.11.2010, 08:46:26
-sensemann- -sensemann- ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 53
Beiträge: 37
-sensemann- befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Ermittelt werden soll: Sind alle Zahlen 6 stellig !

So wie ich das getestet habe nach deinem Beispiel werden immer alle Einträge angezeigt.

mfg
-sensemann-
Mit Zitat antworten
  #36  
Alt 26.11.2010, 09:37:11
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 9
Beiträge: 395
thomas_w befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Das müssen wir schon genauer beschreiben:

- alle Zahlen müssen 6-stellig (ganzzahlig numerisch) sein (0-9)
- zwischen den Zahlen steht ein ; (am Ende nicht)
- wieviele Zahlen gibt es oder ist dies unterschielich (in Deinem Beispiel waren es fünf)

Gibt es noch weitere Regeln?

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #37  
Alt 26.11.2010, 09:39:48
-sensemann- -sensemann- ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 53
Beiträge: 37
-sensemann- befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Es eine unterschiedliche Anzahl von Zahlen. Keine weiteren Regeln.

Hast Recht. Ich sollte mir angewöhnen die Dinge besser und genauer zu beschreiben.

mfg
-sensemann-
Mit Zitat antworten
  #38  
Alt 26.11.2010, 09:58:14
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 9
Beiträge: 395
thomas_w befindet sich auf einem aufstrebenden Ast
AW: Spalte prüfen.

Wenn Du auch am Ende ein ; (hinter die letzte Zahl) schreibst, könnte der REGEX so aussehen.

Code:
DELETE FROM test_string;

INSERT INTO test_string VALUES
( 1, '1234;12345;12456;1234567;12345678;'),
( 2, '1234;12345;12456;1234567;12345678;'),
( 3, '1234;12345;12456;1234567;1;2345678;'),
( 4, '123456;123456;123456;123456;234567;');  


/* korrekte Daten */
SELECT * FROM test_string
WHERE csv_daten REGEXP '^([0-9]{6};){1,}$';
+----+-------------------------------------+
| id | csv_daten                           |
+----+-------------------------------------+
|  4 | 123456;123456;123456;123456;234567; |
+----+-------------------------------------+
1 row in set (0.00 sec)



/* falsche Daten */
SELECT * FROM test_string
WHERE id NOT IN (
  SELECT id FROM test_string
  WHERE csv_daten REGEXP '^([0-9]{6};){1,}$'
);
+----+-------------------------------------+
| id | csv_daten                           |
+----+-------------------------------------+
|  1 | 1234;12345;12456;1234567;12345678;  |
|  2 | 1234;12345;12456;1234567;12345678;  |
|  3 | 1234;12345;12456;1234567;1;2345678; |
+----+-------------------------------------+
3 rows in set (0.00 sec)
Wäre aus meiner Sicht korrekt. Wie der REGEX umgestellt werden muss, damit es auch ohne das letzte angehängte ; geht ..(keine Ahnung). Vielleicht kennt @rei eine Lösung dafür.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Load data infile / insert (problem bei einer spalte) tob1 MySQL 1 02.06.2009 07:38:45
if Spalte Inahlt CocaCola PHP Grundlagen 6 27.05.2009 18:25:37
Einzelne Spalte per phpmyadmin in neue Tabelle? bart_the1st MySQL 13 13.04.2008 23:17:42
Altualisieren einer Spalte anhand einer Spalte in einer anderen Tabelle thefifa MySQL 0 25.07.2007 18:34:41
Alle Werte einer Spalte bearbeiten/zurücksetzen Pele007 PHP Grundlagen 2 27.10.2006 15:48:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:07:00 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.


© 2001-2019 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt