php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.08.2011, 03:35  
Neuer Benutzer
 
Registriert seit: 30.08.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
NoName26 befindet sich auf einem aufstrebenden Ast
Standard Wert aus Spalte A gekürzt in Spalte B übernehmen

Hallo,

ich habe folgendes Problem (bzw. folgende Wissenslücke)

Ein Benutzer trägt sich in eine Liste ein und gibt dabei seine PLZ an. Nun soll diese Liste nach PLZ-Bereichen (0-9) sortiert werden können. Allerdings möchte ich dem Benutzer nicht "zumuten", neben seiner komplette PLZ nochmal die erste Stelle seiner PLZ bei der Anmeldung anzugeben.

Daher meine Frage: Wie kann ich die erste Stelle des Wertes aus der Spalte "plz" automatisch in die Spalte "plzbereich" übernehmen? Geht das irgendwie direkt beim Eintrag? Oder muss ich das über ein Script lösen, das ich per Cronjob regelmäßig ausführe?

Manuell müsste es ja mit
PHP-Code:
UPDATE [tableSET plzbereich LEFT(plz,1); 
gehen, oder? Nur möchte ich es nicht manuell lösen

Vielen Dank für eure Hilfe!
NoName26 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.08.2011, 09:27  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

also sowas macht man nicht - das sind dann nämlich redundante Daten ...

du kannst ja bei Abfragen nur einen Teil der Spalte "Postleitzahl" betrachten, dazu kennt SQL genau wie PHP die Funktion substr(spalte, Beginn, Ende ) [ OT .. ist ja genau wie Java .... ] beachte bitte den kleinen Unterschied zur PHP-Variante (string,beginn, zeichenanzahl)
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:23  
Neuer Benutzer
 
Registriert seit: 30.08.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
NoName26 befindet sich auf einem aufstrebenden Ast
Standard

Hallo eagle275,

vielen Dank für deine Antwort. Dass ich dann redundante Daten habe, das ist mir bewusst. Allerdings arbeite ich mit einem CMS und ich müsste eine ganze Funktion des CMS umschreiben, weil die Filter "automatisch" vom CMS erstellt werden. Das Ganze wäre dann nicht updatesicher und ich müsste die Änderung ggf. immer wieder durchführen.

Daher würde ich die redundanten Daten in Kauf nehmen...
NoName26 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:31  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ok .. das mit dem CMS hättest du ach gleich schreiben können ..

du wirst trotzdem nicht umhinkommen dieses Update zu machen ...

eventuell lässt es sich mit einer Stored Procedure machen, die direkt im Anschluss an Insert und Update in dieser Tabelle loslegt und dann die führende Ziffer der Postleitzahl in diese weitere Spalte überträgt, oder du machst es gleich beim Anlegen der Daten, indem du die Abfrage bearbeitest .. aber da kommt dir dein CMS wohl wieder in die Quere
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:34  
Neuer Benutzer
 
Registriert seit: 30.08.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
NoName26 befindet sich auf einem aufstrebenden Ast
Standard

Lässt sich das nicht irgendwie per Cron lösen, wie oben von mir angeregt?
NoName26 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:35  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Zitat:
Dass ich dann redundante Daten habe, das ist mir bewusst. Allerdings arbeite ich mit einem CMS und ich müsste eine ganze Funktion des CMS umschreiben, weil die Filter "automatisch" vom CMS erstellt werden. Das Ganze wäre dann nicht updatesicher und ich müsste die Änderung ggf. immer wieder durchführen.
Verstehe ich nicht die Antwort. Die Alternative wäre dann wohl 2 Felder zu haben, die beide bearbeitet werden können. Und damit potentiell inkonsistent sind?
__________________
--
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   Mit Zitat antworten
Alt 30.08.2011, 13:38  
Neuer Benutzer
 
Registriert seit: 30.08.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
NoName26 befindet sich auf einem aufstrebenden Ast
Standard

Hmpf, ich glaube, das ist nun zu hoch für mich...
Zitat:
PHP-Kenntnisse: Anfänger
Also wenn man bei der Anmeldung nur die PLZ und nicht den PLZ-Bereich abfragt, sondern dieser täglich per Cron aus der PLZ erzeugt wird, dann sollte das mit den inkonsistenten Daten doch gelöst sein, oder?
NoName26 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Tja, wenn. Aber wo der Grund für ein extra Feld liegt, hast Du immer noch nicht klar gemacht.
__________________
--
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   Mit Zitat antworten
Alt 30.08.2011, 13:43  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

und was ist in der zwischenzeit ? ... stell dir vor dein cronjob läuft Mittags .. und 12:01 meldet sich ein neuer User an - und für den gibts dann nur ne Postleitzahl , aber keinen Bereich - 24 Stunden lang also inkonsistente Daten .. noch besser .. einer deiner Stammuser zieht um , logt sich 12:01 ein und ändert seine Postleitzahl samit Anschrift - und 24 Stunden lang hat deine Datenbank einen falschen Postleitzahlbereich für ihn..

Ich hab das mit den Redundanten Daten doch extra geschrieben, damit du erkennst, dass man sich diesen Schmarrn NICHT antut.

Da wirst du wohl die Methode des CMS ändern müssen, das dort der Postleitzahlbereich automatisch aus der Postleitzahl-Spalte berechnet wird
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 30.08.2011, 13:44  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von NoName26 Beitrag anzeigen
Geht das irgendwie direkt beim Eintrag? [...]
Manuell müsste es ja mit
PHP-Code:
UPDATE [tableSET plzbereich LEFT(plz,1); 
gehen, oder?
Dann baue die Befüllung des Wertes stattdessen in das INSERT-Statement, das den Datensatz erzeugt, ein.

Zitat:
Oder muss ich das über ein Script lösen, das ich per Cronjob regelmäßig ausführe?
Nein, der käme ja auch regelmäßig „zu spät“.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB 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] Wert aus einem Popup-Kalender (javascript) in html/php übernehmen Laetitia PHP Einsteiger 3 07.01.2011 11:44
ausgewählten Wert aus der Selektbox übernehmen ketchup PHP Tipps 2009 1 20.03.2009 17:39
[Erledigt] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
[Erledigt] RGB Wert zusammensetzen aus Tabellendaten Thorsten PHP Tipps 2008 2 27.05.2008 11:57
value wert von chekbox übernehmen und nach rewuest beibehalt nieselfriem PHP Tipps 2008 4 16.02.2008 16:46
value wert von chekbox übernehmen und nach rewuest beibehalt nieselfriem PHP Tipps 2008 1 13.02.2008 20:34
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
Werte aus Tabelle 2 in Tabelle 1 übernehmen hansdampf Datenbanken 4 30.03.2006 15:04
Anzahl der Reihen, hoechster Wert einer Spalte mit where Datenbanken 1 20.10.2005 17:46
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
Wert einer Variable in einer anderen Funtion übernehmen seven-12 PHP Tipps 2005-2 7 14.06.2005 00:36
kleinsten und größten wert ermitteln niffi PHP Tipps 2005 14 26.04.2005 12:42
Überprüfugn ob ein Wert in der spalte vorhanden? PHP Tipps 2005 2 05.02.2005 16:16
MySQL Tabelle nach wert in spalte durchsuchen PHP Tipps 2005 5 31.01.2005 20:37
wert aus einem query in neuen übernehmen Datenbanken 2 29.10.2004 11:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql werte aus spalte a in spalte b übernehmen

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