jimmy: help-)

hi all!
ich seh vor lauter bäume den wald nich mehr...

ich will mir anhand der einträge einer tabelle ne nummer erstellen. zu dieser nummer (auftragsnr) soll dann noch der monat und das jahr hinzu kommen. soll etwa so aussehen >> 10002-12/03

der quelltext sieht so aus...
 $auftragsnr = db_query("SELECT * FROM $tb_pref.vorgang;") or db_die();
 $anzahl_db = mysql_num_rows( $auftragsnr );
 $auftragsnr=(10001 + $anzahl_db);
 $auftragsnr++;
 $datum = date("-m/y",time());
 $auftragsnr = $auftragsnr.$datum;
 $vorgang_nr = "$auftragsnr";

...INSERT INTO vorgang (vorgang_id, vorgang_kunden_id, vorgang_nr, vorgang_date) VALUES (0, $user_row[0], '$vorgang_nr', $datum);";

der insert befehl wird, richtig übergeben, aber in der db hab ich dann 9998.00 stehen (db feld = varchar).
den wert kann ich mir nur erklären das mysql meine nummer berechnet (12:3 - 10002 ergibt 9998 (anders kann ich mir den wert nicht erklären.

kann mir jemand verraten was ich falsch mach?

gruß
jimmy

  1. Hello,

    $auftragsnr = db_query("SELECT * FROM $tb_pref.vorgang;") or db_die();
     $anzahl_db = mysql_num_rows( $auftragsnr );

    $auftragsnr=(10001 + $anzahl_db);

    Das ist aber schmutzig, den selben Variablennamen für was Anderes weiterzuverwenden!

    $auftragsnummer ist jetzt numerisch.

    $auftragsnr++;

    $datum = date("-m/y",time());
     $auftragsnr = $auftragsnr.$datum;
     $vorgang_nr = "$auftragsnr";

    $a_nr="";  ## Jetzt ist $a_nr ein String
    $a_nr.=$autragsnr.$datum

    Grüße

    Tom

  2. Hiho,

    Hab zwar nicht direkt ne Ahnung, aber ich schätze du liegst schon ziemlich richtig.

    der insert befehl wird, richtig übergeben, aber in der db hab ich dann 9998.00 stehen (db feld = varchar).
    den wert kann ich mir nur erklären das mysql meine nummer berechnet (12:3 - 10002 ergibt 9998 (anders kann ich mir den wert nicht erklären.

    Versuch einfach das / auszublenden. Ich meine Da geht bei PHP auch mit Backslash also

    $datum = date("-m/y",time());

    anstatt

    $datum = date("-m/y",time());

  3. danke für die hilfe, jetzt funzt es!

    @tom
    solange die variablen direkt untereinander stehen und es übersichtlich bleibt mach ich es eigentlich immer so, komm ganz gut damit klar-)

    gruß
    jimmy

    1. Hello,

      @tom
      solange die variablen direkt untereinander stehen und es übersichtlich bleibt mach ich es eigentlich immer so, komm ganz gut damit klar-)

      Und womit gibst Du dann das Resultset wieder frei?
      Bei solchen Mickymaus-Scripten wird das nicht gleich den Server killen, aber lost resources sind auch was Schmutziges.

      Grüße
      Tom

    2. danke für die hilfe, jetzt funzt es!

      UNd was war jetzt die Lösung deines Problems??