Mam numery dokumentów zapisane w bazie jako charakter np. 00000125
Te numery muszą kolejno narastać i o ile nie mam problemu z obliczeniem jaki ma być kolejny nr to jest problem by go zapisać w bazie na odpowiednich miejscach tzn:
Jeśli wynikiem jest np. 99 to zapisuje mi w bazie jako 99 a powinien jako 0000099 bo ta kolumna jest charakter ( wypełnia od lewej ).
Napisałem funkcję która przed wynik obliczeń dołoży ciąg „0” ale nie wiem jak połączyć te zera z wynikiem by powstał ciąg znaków który będę mógłzabisac do bazy.
Mam:
function f_model_numer_dok_nastepny($filia,$kodins) { $db = connect($filia); $query = "select CAST(serbloczki.nrdokdo AS integer)-serbloczki.pozostalo+1 numernastepny FROM public.serbloczki, public.pracownicy WHERE serbloczki.kodpuz = pracownicy.kodpuz AND ipracownicy.kodins = '".$kodins."';"; if ($line < 10) { $line = $line['numernastepny'];//wynikiem ma być np 0000009 zrobiłem np. $line = ‘00000’. $line = $line['numernastepny'].; ale oczywiście nie działa… } elseif ($line < 100) { $line = $line['numernastepny'];//wynikiem ma być np 0000099 } elseif ($line < 1000) { $line = $line['numernastepny'];//wynikiem ma być np 0000999 } elseif ($line < 10000) { $line = $line['numernastepny'];//wynikiem ma być np 0009999 } elseif ($line < 100000) { $line = $line['numernastepny'];//wynikiem ma być np 0099999 } elseif ($line < 1000000) { $line = $line['numernastepny'];//wynikiem ma być np 0999999 } return $line['numernastepny']; }
Czy ma ktoś pomysł jak to zapisać?
A może jest inny niż powyższy pomysł na zapisanie w char cyfr od prawej?