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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
02.12.2013, 18:57:00
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
Nummerierung mit Jahreszahl - sortierungsproblem
Hallo zusammen,
ich bräuchte mal einen Denkanstoß-
Ich generiere mir via php eine fortlaufende Nummer mit Jahreszahl. Beim Jahreswechsel fange ich bei 1 an. ->
PHP-Code:
$sql = select nummer from tabelle where YEAR(datum)=212 or YEAR(datum) = (2013) order by nummer
20121
20122
20123
20131
20132
20133
usw. das klappt bei der Genrierung.
Mein Problem besteht nun bei der Sortierung, sobald die Nummer > 10 werden
201110
201111
Dann sortiert der natürlich 20119, 20121...
Egal ob als string oder zahl das geht nicht. Daher habe ich die Nummer ab gespaltet und dann
sort by datum, nummer desc
Ändere ich nun von desc auf asc, passiert leider nichts. Keine Änderung. Zudem wenn ich mehr als 1 Jahr habe gehts auch nicht. Sortiere ich nur nach der nummer bekomme ich ebenfalls Probleme mit den Jahreszahlen.
20131
20129
Ohne Jahreszahl ginge auch, nur habe ich dann uU sehr schnell sehr lange Zahlen.
Wie stelle ich es an, dass ich logisch sortiere?
|
03.12.2013, 07:52:46
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Hoffe es ist klar geworden?
Will halt pro Jahr sortieren. Also 2012
20121
20122
20123
...
201210
201211
Und zB 2013
20131
20132
20133
...
201310
201311
Normal würde ich mit Nullen auffüllen. Nur
2013000001
2013000002
2013000003
Sieht irgendwie doof aus..
|
03.12.2013, 08:01:00
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Zitat:
Ohne Jahreszahl ginge auch, nur habe ich dann uU sehr schnell sehr lange Zahlen.
|
Was gibts gegen lange Zahlen zu sagen?
|
03.12.2013, 08:40:51
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Ganz hinten an steht eine Druckfunktion und die Nummern, wen die dann 20 Stellen haben...
Irgendeine Idee für die Sortierung? Was weiß ich Jahreszahl nach hinten oder mit Trennzeichen. Suche halt irgendeine Funktion, die alphanumerisch / menschlich sortiert.
also
1
2
3
4
5
6
7
8
9
10
11
statt
1
10
11
12
13
14
15
16
17
18
19
2
Was mir gerade so in den Sinn kommt, ist eine Hilfsspalte.
Da hinein dann zb
0000001
0000002
0000003
...
0000010
Danach sortieren und die nummer anzeigen...
|
03.12.2013, 08:49:24
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Zitat:
also
1
2
3
4
5
6
7
8
9
10
11
statt
1
10
11
12
13
14
15
16
17
18
19
2
|
Ein ORDER BY, auf einer numerischen Spalte tut genau das gewünschte.
|
03.12.2013, 09:04:34
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Wie ich im 1. Post geschrieben habe, geht das nicht, weil ich zB die 1 mehrfach habe (2013,2012,2011...)
=>
2013 1
2012 1
2011 1
Packe ich die Jahreszahl mit in die Spalte kriege ich ebenfalls Probleme ab der 2 Ziffer.
2012 1
2013 1
2013 10
2012 10
|
03.12.2013, 09:25:11
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Zitat:
Packe ich die Jahreszahl mit in die Spalte kriege ich ebenfalls Probleme ab der 2 Ziffer.
|
Dann lass das doch....
Du weißt, dass es nicht funktioniert.
Warum willst du es dann?
Und noch ein Argument:
Du hast eine "datum" Spalte.
Da steht das Jahr drin.
Und eine Sortierspalte, auch mit Jahr drin.
Das ist eine Redundanz, und damit ein rotes Tuch.
Eine Dummheit, es sei denn du hast gute Gründe dafür.
Genannt hast du bis jetzt keine.
Die 5 Normal Formen
|
03.12.2013, 14:17:49
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
DokuLeseHemmung , ich finde es ja nett, dass Du Dir die Zeit nimmst und meinen Beitrag liesst.
Aber mit Antworten wie Geht nicht Lass es und Dummheit kann ich nicht viel anfangen.
Und ganz nebenbei ist es auch nicht dass was allgemein unter Forum verstanden wird.
Ich dachte eigentlich dass ich eine Antwort bekomme, wie "Nimm die Funktionen xy, die machen genau das, was Du brauchst." Oder kombinier die Abfragen 1,2, und 3.
Ähnlich wie zB "%" statt "/". Der teilt nicht einfach nur, sondern liefert mir den Rest.
Eine Lösung oder einen Anstoß (Steht im ersten Satz des ersten Posts).
Und Gründe? Andere Programmierer dürften dieselbe Problematik gehabt und irgendwie gelöst haben. Zum Beispiel um Fotos zu sortieren-
Zitat:
Du weißt, dass es nicht funktioniert.
Warum willst du es dann?
|
Eben weil ich es nicht weiß, darum frage ich in einem Forum!
Und ich habe keine zwei Spalten mit Jahr drinne. Es ist ein Denkansatz, dass man ein Startjahr nimmt und für alle Einträge dieses Jahres zB eine 000001 einträgt. Für alle Einträge des komenden Jahres eine 000002 usw. Oder mit A, B, C
Aber das ist noch nicht rund..
Sinn und Unsinn sei mal dahingestellt. Wie kann ich eine fortlaufende Nummer generieren, welche sich sortieren lässt und pro Jahr einen abgeschlossenen Nummernblock ergibt.
Also
2011 1-345
2012 1-257
2013 1-134
oä
|
03.12.2013, 18:33:34
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Zitat:
select nummer from tabelle where YEAR(datum)=2012 or YEAR(datum) = (2013) order by nummer
|
Sowohl datum als auch nummer beinhalten das Jahr.
Zumindest habe ich es so verstanden.
Und das wäre redundant.
Zitat:
Wie kann ich eine fortlaufende Nummer generieren
|
LAST_INSERT_ID liefert dir eine eindeutige Zahl.
Zitat:
und pro Jahr einen abgeschlossenen Nummernblock
|
Wozu?
Und wenn du wirklich fortlaufende, bei 1 beginnende Nummern für das Jahr brauchst, wäre ein zusätzlicher SELECT nötig. Evtl. das ganze in einer Transaktion abgesichert, wenn es mehrere "Schreiber" geben sollte.
Zitat:
DokuLeseHemmung , ich finde es ja nett, dass Du Dir die Zeit nimmst und meinen Beitrag liesst.
Aber mit Antworten wie Geht nicht Lass es und Dummheit kann ich nicht viel anfangen.
Und ganz nebenbei ist es auch nicht dass was allgemein unter Forum verstanden wird.
|
In einem Forum bekommst du die Antworten, welche der Antwortende zu geben gewillt ist.
Was du damit anfängst, ist deine Sache.
Und ich, werde dich ganz sicher nicht auf einem falschen Weg bestärken.
Bedenke:
Es ist viel schwerer, was falsches aus dem Kopf zu bekommen, als das richtige zu lernen.
Also erst mal "los lassen" und dann den Acker bereiten.
Und dann, viel später kommt die Saat für die neue Ernte..
|
03.12.2013, 19:49:28
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Nummerierung mit Jahreszahl - sortierungsproblem
Zitat:
Zitat von tsunamitsunami
[..]
Ich dachte eigentlich dass ich eine Antwort bekomme, wie "Nimm die Funktionen xy, die machen genau das, was Du brauchst." Oder kombinier die Abfragen 1,2, und 3.
|
Mögliche Alternative:
Feld mit Jahreszahl (F1) und ein zweites Feld als Autoincrement (F2) und dann " ... ORDER BY F1, F2". Und fertig. Lässt sich sortieren. Abgeschlossener Nummernbereich pro Jahr usw.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Ähnliche Themen
|
Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
Sortierungsproblem
|
nuletianer |
MySQLi/PDO/(MySQL) |
1 |
24.09.2009 22:12:30 |
nummerierung
|
olli |
PHP für Fortgeschrittene und Experten |
2 |
17.02.2004 02:16:46 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:11:47 Uhr.
|