websdream
12-02-2004, 16:47
hallo!
ich habe eine tab mit zwei feldern
artnr [varchar(4)] und bestellnr [text]
die beiden felder werden im script zusammengefügt.
jetzt geb ich die aus (z.b. alle wo die artnr=050 ist):
dann steht da:
05001
05011
05012
05013
05002
05003
05004
05005
usw.
es soll aber
05001
05002
05003
05004
05005
..
05011
05012
05013
was mach ich falsch?
danke
Original geschrieben von websdream
was mach ich falsch?du verwendest keine zahlenfelder dafür
Damian1984
12-02-2004, 16:52
Wie fügst du sie zusammen?(Code) und wie sehen die Daten getrennt aus?
websdream
12-02-2004, 16:53
getrennt sehen die so aus
artnr
050
050
050
050
bestellnr
01
02
03
04
...
10
11
12
13
??:confused:
websdream
12-02-2004, 17:00
zahlenfelder?
int/float?
dann gehen aber die "0"en vor den zahlen weg....:mad:
gibt`s nix anderes?
das zusammenführen kannst du auch unter php machen. dort kann man auch die führenden nullen wieder eintragen.
und nein es gibt ncihts anderes, wenn du das richtig sortiert haben willst. da musst du zahlenfelder nehmen. -> INT
Original geschrieben von websdream
int/float?
dann gehen aber die "0"en vor den zahlen weg....:mad:
*aua*
solchen schnickschnack wie führende nullen fügt mal lediglich bei der ausgabe hinzu, die haben in der datenbank absolut nichts verloren.
websdream
12-02-2004, 17:19
so, jetzt hab ich gebaselt:
$artikelnummer=$row['Artnr'];
$bestellnummer=$row['Bestellnr'];
if ($artikelnummer < 100){
$artikelnummer = "0".$artikelnummer;
}
if ($bestellnummer < 10){
$bestellnummer = "0".$bestellnummer;
}
echo "$artikelnummer$bestellnummer";
so, jetzt werden fast alle richtig angezeigt! lediglich die ersten (1-14 | artnr=050) in der tabelle nicht - kann das an der id liegen?
oder kann ich die artikelnummer im script sortieren?
danke
deine art und weise die 0er vorne einzufügen, ist ein wenig antiquiert. nutze bitte die fkt sprintf() oder printf() . (eine von beiden kann das)
Original geschrieben von Abraxax
sprintf() oder printf() . (eine von beiden kann das)
beide können das.
nur ist die eine für die direkte ausgabe gedacht, während die andere ihren aufbereiteten text als string zurückgibt, mit dem man dann noch weiter arbeiten kann.
abgesehen davon sind beide funktionen aber, vor allem was die parameter angeht, absolut identisch.
websdream
12-02-2004, 17:49
ja, das klappt auch!
ABER: die sortierung geht immer noch nicht!!
$artikelnummer=$row['Artnr'];
$bestellnummer=$row['Bestellnr'];
#zusammenfügen mit führenden nullen
$newbestellnr= sprintf ("%03d%02d", $artikelnummer, $bestellnummer);
beide felder Artnr und Bestellnr sind "int"!
was ist wohl falsch?
danke
Original geschrieben von websdream
was ist wohl falsch?du sortierst nicht, würde ich mal tippen....
websdream
12-02-2004, 17:56
:dontknow:
that`s it (ORDER BY Artnr)!
aber immer hin hab ich jetzt ne menge neuer sachen gelernt!
vielen dank:rocks: