Loading...
X

fakturanummer

Revision for “fakturanummer” created on 10. oktober 2014 @ 23:40:04

Tittel
fakturanummer
Innhold
<span class="_right"><strong class="_above">Generere påfølgende fakturanumre ved hjelp av PHP</strong></span><span class="_under">Skrevet i <a href="http://www.phpjabbers.com/php-tutorials">PHP Veiledninger</a> | <a href="http://www.phpjabbers.com/generate-consecutive-invoice-numbers-using-php-php55.html#comments">0 kommentarer</a></span> <div class="_body">Vanligvis når det kommer til fakturering vil du trenger å generere påfølgende tall. For eksempel i Bulgaria fakturanumrene bør være 10 sifre. Så hvis du starter din første faktura nummeret bør være 0000000001, deretter neste faktura bør være 0000000002, og så videre. Som du kan forestille deg at du kan ikke bare lage en syklus for å generere disse tallene som <div> <div id="highlighter_487730" class="syntaxhighlighter php"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"> <div class="line number1 index0 alt2">1</div> <div class="line number2 index1 alt1">2</div> <div class="line number3 index2 alt2">3</div> <div class="line number4 index3 alt1">4</div> <div class="line number5 index4 alt2">5</div> <div class="line number6 index5 alt1">6</div> <div class="line number7 index6 alt2">7</div></td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"><code class="php plain">&lt;? Php</code></div> <div class="line number2 index1 alt1"><code class="php keyword">for </code> <code class="php plain">( </code><code class="php variable">$ antall </code> <code class="php plain">= 1; </code><code class="php variable">$ nummer </code><code class="php plain">&lt;10; </code><code class="php variable">$ nummer </code><code class="php plain">++) {</code></div> <div class="line number3 index2 alt2"></div> <div class="line number4 index3 alt1"><code class="php spaces">   </code><code class="php functions">echo </code> <code class="php variable">$ nummer </code><code class="php plain">;</code></div> <div class="line number5 index4 alt2"></div> <div class="line number6 index5 alt1"><code class="php plain">}</code></div> <div class="line number7 index6 alt2"><code class="php plain">?&gt;</code></div> </div></td> </tr> </tbody> </table> </div> </div> Koden ovenfor vil generere følgende tallene 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Du er nødt til å legge de ekstra nuller manuelt foran hvert nummer. Men det er en veldig nyttig PHP-funksjonen <a href="http://www.php.net/manual/en/function.str-pad.php" target="_blank">str_pad</a> som vil legge noen streng (i vårt tilfelle er dette bare 0) til starten eller slutten av en streng slik at det blir en viss lengde. Vi har laget en enkel funksjon hvor du kan spesifisere startnummer, telle og hvor mange sifre de genererte tall bør være. <div> <div id="highlighter_231637" class="syntaxhighlighter php"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"> <div class="line number1 index0 alt2">1</div></td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"><code class="php plain">generate_numbers ( </code><code class="php variable">$ start </code><code class="php plain">, </code><code class="php variable">$ teller </code><code class="php plain">, </code><code class="php variable">$ sifre </code><code class="php plain">)</code></div> </div></td> </tr> </tbody> </table> </div> </div> $ Starte - er antall for din første faktura $ teller - hvor mange fakturanummer du vil generere $ sifre - hvor mange sifre de genererte tall bør være <div> <div id="highlighter_682081" class="syntaxhighlighter php"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"> <div class="line number1 index0 alt2">1</div> <div class="line number2 index1 alt1">2</div> <div class="line number3 index2 alt2">3</div> <div class="line number4 index3 alt1">4</div> <div class="line number5 index4 alt2">5</div> <div class="line number6 index5 alt1">6</div> <div class="line number7 index6 alt2">7</div> <div class="line number8 index7 alt1">8</div> <div class="line number9 index8 alt2">9</div> <div class="line number10 index9 alt1">10</div> <div class="line number11 index10 alt2">11</div></td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"><code class="php plain">&lt;? Php</code></div> <div class="line number2 index1 alt1"><code class="php keyword">funksjons </code> <code class="php plain">generate_numbers ( </code><code class="php variable">$ start </code><code class="php plain">, </code><code class="php variable">$ teller </code><code class="php plain">, </code><code class="php variable">$ siffer </code><code class="php plain">) {</code></div> <div class="line number3 index2 alt2"><code class="php spaces">   </code><code class="php variable">$ Resultat </code> <code class="php plain">= </code><code class="php keyword">matrise </code><code class="php plain">();</code></div> <div class="line number4 index3 alt1"><code class="php spaces">   </code><code class="php keyword">for </code> <code class="php plain">( </code><code class="php variable">$ n </code> <code class="php plain">= </code><code class="php variable">$ starte </code><code class="php plain">; </code><code class="php variable">$ n </code> <code class="php plain">&lt; </code><code class="php variable">$ starte </code> <code class="php plain">+ </code><code class="php variable">$ teller </code><code class="php plain">; </code><code class="php variable">$ n </code><code class="php plain">++) {</code></div> <div class="line number5 index4 alt2"></div> <div class="line number6 index5 alt1"><code class="php spaces">      </code><code class="php variable">$ Resultere </code><code class="php plain">[] = </code><code class="php functions">str_pad </code><code class="php plain">( </code><code class="php variable">$ n </code><code class="php plain">, </code><code class="php variable">$ sifre </code><code class="php plain">, </code><code class="php string">"0" </code><code class="php plain">, STR_PAD_LEFT);</code></div> <div class="line number7 index6 alt2"></div> <div class="line number8 index7 alt1"><code class="php spaces">   </code><code class="php plain">}</code></div> <div class="line number9 index8 alt2"><code class="php spaces">   </code><code class="php keyword">returnere </code> <code class="php variable">$ resultat </code><code class="php plain">;</code></div> <div class="line number10 index9 alt1"><code class="php plain">}</code></div> <div class="line number11 index10 alt2"><code class="php plain">?&gt;</code></div> </div></td> </tr> </tbody> </table> </div> </div> Så hvis du kaller funksjonen som dette <div> <div id="highlighter_490793" class="syntaxhighlighter php"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"> <div class="line number1 index0 alt2">1</div></td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"><code class="php variable">$ tall </code> <code class="php plain">= generate_numbers (9992, 20, 10);</code></div> </div></td> </tr> </tbody> </table> </div> </div> det vil generere en rekke $ tall med følgende verdier <div> <div id="highlighter_280579" class="syntaxhighlighter php"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter"> <div class="line number1 index0 alt2">1</div> <div class="line number2 index1 alt1">2</div> <div class="line number3 index2 alt2">3</div> <div class="line number4 index3 alt1">4</div> <div class="line number5 index4 alt2">5</div> <div class="line number6 index5 alt1">6</div> <div class="line number7 index6 alt2">7</div> <div class="line number8 index7 alt1">8</div> <div class="line number9 index8 alt2">9</div> <div class="line number10 index9 alt1">10</div> <div class="line number11 index10 alt2">11</div> <div class="line number12 index11 alt1">12</div> <div class="line number13 index12 alt2">13</div> <div class="line number14 index13 alt1">14</div> <div class="line number15 index14 alt2">15</div> <div class="line number16 index15 alt1">16</div> <div class="line number17 index16 alt2">17</div> <div class="line number18 index17 alt1">18</div> <div class="line number19 index18 alt2">19</div> <div class="line number20 index19 alt1">20</div> <div class="line number21 index20 alt2">21</div> <div class="line number22 index21 alt1">22</div> <div class="line number23 index22 alt2">23</div></td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"><code class="php plain">Array</code></div> <div class="line number2 index1 alt1"><code class="php plain">(</code></div> <div class="line number3 index2 alt2"><code class="php plain">[0] =&gt; 0000009992</code></div> <div class="line number4 index3 alt1"><code class="php plain">[1] =&gt; 0000009993</code></div> <div class="line number5 index4 alt2"><code class="php plain">[2] =&gt; 0000009994</code></div> <div class="line number6 index5 alt1"><code class="php plain">[3] =&gt; 0000009995</code></div> <div class="line number7 index6 alt2"><code class="php plain">[4] =&gt; 0000009996</code></div> <div class="line number8 index7 alt1"><code class="php plain">[5] =&gt; 0000009997</code></div> <div class="line number9 index8 alt2"><code class="php plain">[6] =&gt; 0000009998</code></div> <div class="line number10 index9 alt1"><code class="php plain">[7] =&gt; 0000009999</code></div> <div class="line number11 index10 alt2"><code class="php plain">[8] =&gt; 0000010000</code></div> <div class="line number12 index11 alt1"><code class="php plain">[9] =&gt; 0000010001</code></div> <div class="line number13 index12 alt2"><code class="php plain">[10] =&gt; 0000010002</code></div> <div class="line number14 index13 alt1"><code class="php plain">[11] =&gt; 0000010003</code></div> <div class="line number15 index14 alt2"><code class="php plain">[12] =&gt; 0000010004</code></div> <div class="line number16 index15 alt1"><code class="php plain">[13] =&gt; 0000010005</code></div> <div class="line number17 index16 alt2"><code class="php plain">[14] =&gt; 0000010006</code></div> <div class="line number18 index17 alt1"><code class="php plain">[15] =&gt; 0000010007</code></div> <div class="line number19 index18 alt2"><code class="php plain">[16] =&gt; 0000010008</code></div> <div class="line number20 index19 alt1"><code class="php plain">[17] =&gt; 0000010009</code></div> <div class="line number21 index20 alt2"><code class="php plain">[18] =&gt; 0000010010</code></div> <div class="line number22 index21 alt1"><code class="php plain">[19] =&gt; 0000010011</code></div> <div class="line number23 index22 alt2"><code class="php plain">)</code></div> </div></td> </tr> </tbody> </table> </div> </div> Som du kan se de åtte første tallene er 4 siffer (9992-9999), og dermed har vi seks 0 lagt foran dem. Da har vi 5 siffer lange tall (10000-10011) og for disse tallene vi har five 0 lagt foran dem.</div>
Utdrag


OldNewDate CreatedAuthorActions
10. oktober 2014 @ 23:40:04 odd lie

Siste innlegg

Siste kommentarer

Arkiv

Fram og tilbake

april 2025
M T O T F L S
 123456
78910111213
14151617181920
21222324252627
282930