theresa: 001+1 =002, bessere ideen zur umsetzung?

hallo liebe leute!

ich habe in letzter zeit immer wieder den fall, dass ich fortlaufende nummern generieren muss. mir kommt das ziemlich kompliziert vor wie ich das mache, deshalb würde ich gerne von euch wissen, ob ihr bessere ideen habt. mir geht es nur um das weiterzählen, den restlichen code
verkompliziere ich nur zwecks besserer lesbarkeit.

ich mache das im moment so:

$aktnr = "1234000001";
//kommt normalerweise aus einer datenbank
//die ersten 4 stellen sind interne angaben, die restlichen
//stellen sind fortlaufend

$newnr = substr($aktnr,-6)+1;
if ($newnr <= 9){$newnr = "00000".$newnr;}

$newnr = substr($aktnr,-6)+1;
if ($newnr >= 10 && $newnr <= 100){$newnr = "0000".$newnr;}
.
.
.

gibt es da keine einfachere/kürzere/optimiertere art, das zu berechnen?

danke für eure ideen,
theresa

  1. Hi !

    ich mache das im moment so:

    $aktnr = "1234000001";

    Warum nicht (pseudo-code, da ich keine php kann)

    $new_nr=to_number($aktnr);
    $new_nr=$new_nr+1;

    Gruß

    Hans

  2. echo $begrüßung;

    if ($newnr <= 9){$newnr = "00000".$newnr;}

    Für solche Formatieraufgaben eignet sich sprintf().

    echo "$verabschiedung $name";

  3. Hallo

    $aktnr = "1234000001";
    //kommt normalerweise aus einer datenbank
    //die ersten 4 stellen sind interne angaben, die restlichen
    //stellen sind fortlaufend

    $newnr = substr($aktnr,-6)+1;
    if ($newnr <= 9){$newnr = "00000".$newnr;}

    $newnr = substr($aktnr,-6)+1;
    if ($newnr >= 10 && $newnr <= 100){$newnr = "0000".$newnr;}

    gibt es da keine einfachere/kürzere/optimiertere art, das zu berechnen?

    Den fortlaufenden Teil kannst du nach dem Hochzählen via str_pad (hier) mit Nullen auffüllen. Danach musst du nur noch deine ersten 4 Zahlen voranstellen.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1