Ich versuche viele Arten von Feldern in MySQL, nur Zahlen zu speichern, versucht mit INT, BIGINT mit führenden Nullen, CHAR und VARCHAR, um Rechnungsnummern zu speichern
Ich benötige die Rechnungsnummern, um mit 0000000001 zu beginnen. Ich habe sie manuell in PHPmyadmin gespeichert
Jetzt möchte ich es anzeigen und bekomme keine führenden Nullen ....
Hier ist die Datenbank
Feld "Folio" CHAR 15 gespeichert Ich habe manuell 0000000001 gemacht, es wird gut auf phpmyadmin angezeigt
Aber hier ist das Problem
<?php $maxprod=mysqli_query($datacenter,
"SELECT * FROM ventas
WHERE documento = 'boleta'
ORDER BY id DESC LIMIT 1");
while($lastcode=mysqli_fetch_assoc($maxprod)){?>
<input type="text" value="<?php echo $lastcode['folio']+1?>">
<?php }?>
Das Ergebnis der Abfrage ist 1, nur 1, es werden nicht alle anderen Nullen angezeigt
Irgendeine Idee warum?
3 Antworten
PHP konvertiert Zeichenfolgen automatisch in Zahlen, wenn Sie eine numerische Operation ausführen. Sie können die Bestellnummer jedoch in ganzzahliger Form beibehalten und bei Bedarf mit Nullen auffüllen:
str_pad($lastcode['folio']+1, 15, "0", STR_PAD_LEFT);
echo $lastcode['folio']
sollte ein Ergebnis mit den führenden Nullen anzeigen, nicht jedoch $lastcode['folio']+1
.
Sobald Sie dies tun +1
, ist das Ergebnis keine Zeichenfolge mehr. Die Variable $lastcode['folio']
wird in eine Zahl konvertiert, um die arithmetische Operation auszuführen.
Die führenden Nullen werden nur formatiert und müssen nicht mit der Nummer gespeichert werden. Wenn Sie eine automatisch inkrementierende Nummer benötigen, verwenden Sie einfach eine automatische Inkrementierungs-Ganzzahl in MySQL und formatieren Sie die Nummer beim Ausdrucken mit führenden Nullen.
Dadurch wird die Nummer als Zeichenfolge abgerufen und als Text angezeigt.
Später können Sie es in Ihrer Codierungsumgebung bearbeiten.
SELECT CAST(document_number AS CHAR) FROM ...
Neue Fragen
php
PHP ist eine weit verbreitete, übergeordnete, dynamische, objektorientierte und interpretierte Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung entwickelt wurde. Wird für Fragen zur PHP-Sprache verwendet.