Automatisch eine bestimmte Nummer generieren

syntraxx

Mitglied
Hallo zusammen

Ich möchte eine Zahlen-Combo in dem folgenden Format generieren: "00101".

Also einfach fünfstellig, wobei die Nullen zwingend sind und ein neuer Datensatz jeweils um eins Plus gerechnet werden soll gegenüber dem letzten.

Habe bis jetzt mal folgenden:

PHP:
$last_entry = "SELECT barcode FROM rr_produkte ORDER BY id DESC LIMIT 0, 1";
$result = mysql_query($last_entry);

$new_bar = $result + 1;

Aber das funktioniert nicht so ganz... bekomme als neuen Wert "4"

Wer kann mir da helfen?
 
Speichere die Werte einfach normal als Dezimalwerte und formatiere sie erst zur weiteren Verarbeitung mit PHP.
 
syntraxx hat gesagt.:
PHP:
$last_entry = "SELECT barcode FROM rr_produkte ORDER BY id DESC LIMIT 0, 1";
$result = mysql_query($last_entry);

$new_bar = $result + 1;

Aber das funktioniert nicht so ganz... bekomme als neuen Wert "4"

Bei einem SELECT ist der Rückgabewert von mysql_query() die Ressourcenkennung.

Du musst das Ergebnis ...also den barcode, erst noch mit bspw. mysql_fetch_object() abholen, um damit arbeiten zu können.
 
Hab das jetzt wie folgt:

PHP:
$last_entry = "SELECT barcode FROM rr_produkte ORDER BY id DESC LIMIT 0, 1";
$result = mysql_query($last_entry);

$new_bar = mysql_fetch_object($result);
$new_bar++;

Bekomme als Ausgabe:

0 in der Datenbank. Der Wert zuvor war aber 10101... Wie kommt das?
 
Hallo,

syntraxx hat gesagt.:
Bekomme als Ausgabe:

0 in der Datenbank. Der Wert zuvor war aber 10101... Wie kommt das?
Wie wäre es, wenn du dich erst mal mit den Grundlagen beschäftigst? [phpf]mysql_fetch_object[/phpf] gibt kein einzelnes Feld, sondern eine Objektpräsentation der Ergebniszeile zurück. Am einfachsten wäre es, wenn man hier mit [phpf]mysql_result[/phpf] arbeitet.

Grüße,
Matthias
 
Wozu willst du da eigentlich die Nullen in die DB eintragen.
Mache ein Auto-Increment-Feld daraus, dann wird es automatisch bei jedem Datensatz erhöht... bei der weiteren Verarbeitung kannst du die Nullen immer noch mit sprintf() davor setzen.
 
Hallo,

Sven Mintel hat gesagt.:
Wozu willst du da eigentlich die Nullen in die DB eintragen.
Mache ein Auto-Increment-Feld daraus, dann wird es automatisch bei jedem Datensatz erhöht... bei der weiteren Verarbeitung kannst du die Nullen immer noch mit sprintf() davor setzen.
Oder man setzt das Feld auf UNSIGNED ZEROFILL – dann kümmert sich MySQL selber um die Nullen.

Grüße,
Matthias
 
Zurück