php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.01.2011, 12:52  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
lugaru befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] String überprüfung auf Nummer

Hallo,

ich bekomme meine Banküberweisungen als CSV Datei exportiert. In einem Feld wird der Verwendungszweck gespeichert. meine Kunden erhalten eine Rechnung mit einer Rechnungsnummer wie z.b. 1-2010-17 (Konto-Jahr-DurchlaufendeNummer)

Ich möchte nun testen, ob dieser in einem Verwendungszweck vorhanden ist.

Erster Ansatz war mit strpos (Problem: Die Rechnungsnummer 1-2010-1 ist auch im Verwendungszweck 1-2010-14 enthalten! -> Doppelte eintragung)

Im Moment mache ich es so: Ich teile den String in ein Array (geteilt wird durch ein leerzeichen) Problem: Wenn jemand schreibt Nr.1-2010-12 oder das leerzeichen vornedran vergisst, wirds nicht richtig erkannt (ebenso wenn etwas danach folgt.)

Jemand ne Idee wie man das lösen könnte?

PS: Vlt statt nur mit einem leerzeichen auch , . sowie Buchstaben als trennzeichen verwenden... geht das?

Danke schonma
Grüße
lugaru ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.01.2011, 13:41  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Das Stichwort wären "Regulärer Ausdruck": Einfach alle Muster der Form "Zahl-Zahl-Zahl" suchen und diese dann auf Korrektheit prüfen.
Sirke ist offline   Mit Zitat antworten
Alt 12.01.2011, 13:43  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Das kannst du mit einem Regulären Ausdruck (Regex) lösen. Du suchst nach einer Zahl, gefolgt von einem - dann einer vierstelligen Zahl, wieder einem - und einer weiteren Zahl.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 12.01.2011, 14:27  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Welches Leerzeichen denn? Warum gleichst du die Rechnungsnummer nicht 1 zu 1 mit der DB ab?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 12.01.2011, 15:10  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
lugaru befindet sich auf einem aufstrebenden Ast
Standard

Hmmm, bringt mich noch immer nicht zur Lösung. Also mal etwas genauer. Ich habe folgendes gegeben:
Datenbank mit Rechnungsnummern z.b. gefüllt mit:
1-2010-1
1-2010-2
....
1-2010-10
1-2010-11
1-2010-12
....
1-2010-1000

sowie eine CSV Datei, die Betrag, name und Verwendungszweck enthalten. Der Verwendungszweck wird von php in eine Variable $VZ geschrieben.

Nun gehe ich alle Datenbankeinträge durch und Prüfe für jeden einzeln, ob die Datenbank-Rechnungsnummer, der im Verwendunszweck entspricht. Nun das Problem:
Der Verwendungszweck sieht nicht immer gleich aus! Beispiel:
"1-2010-11"
"Mein Name 1-2010-20"
"Rechnung:1-2010-12"
"2-1010-30blabla"

Nun ist das Problem, dass wenn ich überprüfe, ob der String vorhanden ist, bei der DB Rechnungsnummer 2-2010-1 auch beim Verwendungszweck 2-2010-110 ein true bekomme. Im moment teile ich den Verwendungszweck wie gesagt auf leerstellen.

Wegen dem Regex... da hänge ich grade irgendwie....
PHP-Code:
$test="Nr 2-2010-404335";
$pattern "/^([0-9])-([0-9]{4})-([0-9]{1,})/";
preg_match($pattern,$test,$matches);
print_r($matches); 
ergibt mir ne leere ausgabe

PHP-Code:
$test="2-2010-404335";
$pattern "/^([0-9])-([0-9]{4})-([0-9]{1,})/";
preg_match($pattern,$test,$matches);
print_r($matches); 
gibt mir das array mit der zahl zurück, weil es ja übereinstimmt. Aber wie kann ich das so einsetzen, dass er mir den string sucht?

strpos("2-2010-18", "/^([0-9])-([0-9]{4})-([0-9]{1,})/");

liefert mir leider auch nichts =(

danke schonmal für die antworten
lugaru ist offline   Mit Zitat antworten
Alt 12.01.2011, 15:30  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
lugaru befindet sich auf einem aufstrebenden Ast
Standard

Ahh habs hinbekommen

PHP-Code:
$test="rg2-2010-404335";
preg_match("/([0-9])-([0-9]{4})-([0-9]{1,})/"$test$treffer);
print_r($treffer); 
Danke euch !
lugaru ist offline   Mit Zitat antworten
Alt 12.01.2011, 16:17  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Das ist doch mal ein vorbildlicher Programmierer: Bekommt einen Hinweis zu einer Möglichkeit, die er vllt noch nicht kannte, schaut dann im Internet nach den Möglichkeiten und versucht sein Problem selbst zu lösen, anstatt sich alles vorkauen zu lassen...
Sirke ist offline   Mit Zitat antworten
Antwort


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] String von Sonderzeichen und Zahlen befreien pfump PHP Tipps 2010 10 19.11.2010 16:08
Sphider Umlaute und MySQL Fehler xnic Datenbanken 2 03.08.2010 20:10
[Erledigt] Exchange 2007 KalenderItems tarian PHP-Fortgeschrittene 1 26.05.2010 10:23
Scriptangebot Codieren von Texten Ryuuzaki93 Scriptbörse 9 08.02.2010 23:14
Records mit PHP ? SimStar001 PHP Tipps 2009 11 08.04.2009 15:14
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
string in string suchen,ersetzen,zusammenfügen und update machen litterauspirna PHP Tipps 2009 24 08.01.2009 13:38
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
nummer aus string suchen moose PHP Tipps 2006 3 08.10.2006 12:48
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Überprüfung ob Eingabe = Nummer, etc.. PHP Tipps 2004-2 2 21.11.2004 19:35
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php string nach nummer, geldbetrag prüfen php, verwendungszweck rechnungsnummer finden, php string keine nummer, verwendungszweck regex rechnungsnummer, regex verwendungszweck rechnungsnummer finden, php test auf nummer, php regexp überweisung verwendungszweck, string überprüfen geldbetrag, php pattern nummer prüfen, php zeichenkette auf zahl überprüfen, php stringüberprüfung, php string nach der ersten zahl durchsuchen, php string überprüfen keine number, php verwendungszweck, formular php auf geldbetrag prüfen, verwendungszweck überweisung string, ist nummer php, string Überprüfung php regexp, string auf betrag testen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:21 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