Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensätze nach Zahlenwerten filtern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kovada
    hat ein Thema erstellt Datensätze nach Zahlenwerten filtern.

    Datensätze nach Zahlenwerten filtern

    Liebe Communiy,

    bald steht ein Umzug der Datenbank bevor. Für ein Restpostensystem muss ich den Umzug nun so komfortabel wie möglich gestalten.

    Die neue Datenbank besitzt eine Spalte "Preis". In dieser Spalte soll logischerweise ein Zahlenwert stehen.

    In der alten Datenbank ist es nun so, dass die Kunden ganz wilde Sachen in den Preisinput geschrieben haben und die Tabelle in der Datenbank echt vermüllt ist. Beispielangaben sind: 0,27/ Stk./Netto/ab Lager€ oder ab 14,50 €/100 Stück€. Mein Chefprogrammierer möchte so wenig Datenpflege wie möglich betreiben und ich soll jetzt versuchen, die Datensätze so zu filtern, dass im besten Fall nur die Zahlenwerte angezeigt werden (aus den oben genannten Beispielanzeigen).

    Ich habs bereits mit regular expression versucht aber das hat nicht funktioniert.

    Hat irgendwer eine Lösung oder Hilfestellung wie ich nur die Zahlenwerte mit explode oder sonst was aus den verschiedenen Preisangaben ziehen kann?

    MfG

    Daniel

  • Geromel
    antwortet
    Zitat von jspit Beitrag anzeigen
    Dann hol dir den Preis mit preg_match und mache im 2.Schritt aus den Komma ein Punkt. Ob es vom Grundsatz ohne manuelles Eingreifen möglich ist deine Werte zu ändern kann ich nicht beurteilen.
    Ein Gedanke noch:
    Den RegEx für einen Preis relativ scharf formulieren und alle Preise die nicht matchen in eine Tabelle ausgeben und manuell nachpflegen.
    Oder so, aber das ist eben immer das, wenn man den Kunden erlaubt alles einzugeben. Als Entwickler denkt man immer typenspezifisch, aber die kunden hauen alles rein. hab ich auch schon mit telefonnummern erlebt. ne externe firma gibt als telefonnummerfeld eine textarea an ohne überprüfung und zack die kunden tragen mist ohne ende ein. und den salat hatte ich am ende, obwohl ich die daten nur entgegennehmen sollte.

    Einen Kommentar schreiben:


  • jspit
    antwortet
    Zitat von kovada Beitrag anzeigen
    Irgendwie muss es klappen, sodass der Datensatz ab 0,99 € auf Anfrage nur die Zahl 0,99 (mit Komma) liest und dann aufhört..

    MAN BEDENKE: Der Datensatz kann auch so aussehen: Ab 0,99€/100STK-sofort
    Dann hol dir den Preis mit preg_match und mache im 2.Schritt aus den Komma ein Punkt. Ob es vom Grundsatz ohne manuelles Eingreifen möglich ist deine Werte zu ändern kann ich nicht beurteilen.
    Ein Gedanke noch:
    Den RegEx für einen Preis relativ scharf formulieren und alle Preise die nicht matchen in eine Tabelle ausgeben und manuell nachpflegen.

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    Ich würde sowas trotzdem händisch durchgehen. Menschen machen Fehler und falsche Beträge, die nachher in den Feldern stehen sind unter Umständen schwer zu finden oder du hast nachher andere Probleme. Lieber einmal richtig machen, auch wenns Zeit kostet.

    Einen Kommentar schreiben:


  • kovada
    antwortet
    das neue restpostensystem arbeitet ein bisschen anders, die kunden können die inputs nicht mehr nach belieben vollschreiben. beim preis wird nur ein zahlenwert akzeptiert..

    geht wirklich nur um die alten datensätze die herübergezogen werden.. und da es tausende sind möchte ich nicht derjenige sein, der datensatz für datensatz durchgeht

    Einen Kommentar schreiben:


  • Ghost21
    antwortet
    Was mir Spontan einfallen würde, wäre, die Datensätze irgendwo Zwischenspeichern -> nach Zahlen Filtern -> neuen Wert in die Tabelle eintragen.
    Mein Chefprogrammierer möchte so wenig Datenpflege wie möglich betreiben
    Das Problem was ich hier allerdings sehe ist, auch wen du die Datensätze gefiltert & neu eingetragen hast das Problem nur Zeitweiße gelöst ist.
    Für die Zukunft, statt erst so spät nach den Daten zu Filtern schon beim Eintragen in die Datenbank Filtern für das, was genau da rein soll.
    Wenn ihr die neue Datenbank eingenommen habt & Du jetzt alles Ordnungsgemäß gefilter hast werden die Kunden auch in die neue Datenbank so
    reinschreiben 0,27/ Stk./Netto/ab Lager€. also einfach schon in der Eingabe Filtern und nur das reinschreiben was gebraucht wird.

    Einen Kommentar schreiben:


  • kovada
    antwortet
    Code:
    <?php	
    	$preistmp1 = $row->preis;
    	$preistmp2 = preg_replace('/[^0-9]/','',$preistmp1);
            echo $preistmp2;
    ?>
    Jetzt werden zwar nur die Zahlen angezeigt, aber ich weiß nicht ob sie zur Stückzahl gehören und werden zusammengefügt (145 oder 525 oder so sachen halt)

    Irgendwie muss es klappen, sodass der Datensatz ab 0,99 € auf Anfrage nur die Zahl 0,99 (mit Komma) liest und dann aufhört..

    MAN BEDENKE: Der Datensatz kann auch so aussehen: Ab 0,99€/100STK-sofort

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Zitat von kovada Beitrag anzeigen
    Ich habs bereits mit regular expression versucht aber das hat nicht funktioniert.
    Und wie sah dein Versuch aus?

    Einen Kommentar schreiben:

Lädt...
X