membuat nomor surat otomatis

ass, saya mau bertanya..saya memiliki aplikasi berbasis PHP..saya sudah di tahap akhir untuk menyelesaikan..tinggal terakhir ini adalah semua inputan user akan bisa di print dan akan ada nomer surat..untuk nomer surat nya sudah saya buat format nya :

 $no_surat = "E".$stringDiv.date("m").date("y").$idEntString;

yang nanti hasil nya akan seperti ini (contoh : E0204180001)

nah yang mau saya tanyakan bagaimana 0001 itu bisa otomatis bertambah setiap user menekan tombol print data (dalam kodingan saya button itu cmdPrint)

berikut script utuh nya :

printing.php :

 <?php
    include('header_print.php');
?>

	<body>
    <?php
    $data_ent = implode(',',$_POST['Action']);

                                $queryF = "select convert(varchar(20),InputDate,103) as 'InputDate',Div,TypeCost,
                                                    convert(varchar(20),EntDate,103) as 'EntDate',  Nominal,EntParty,Premi,
                                                    RemarksAgent,No_Surat from entReq WHERE IdEnt IN (".$data_ent.")";
                                $resultS = sqlsrv_query($conn, $queryF);
                                echo $queryF."<br>";
                                if($resultS === false)
                                        {
                                        die(print_r(sqlsrv_errors(), true));
                                        }
                                while($rowF = sqlsrv_fetch_array($resultS, SQLSRV_FETCH_ASSOC))
                                {


                                        $InputDate=$rowF['InputDate'];
                                        $Div =$rowF['Div'];
                                        $TypeCost=$rowF['TypeCost'];
                                        $EntDate=$rowF['EntDate'];
                                        $Nominal=$rowF['Nominal'];
                                        $EntParty=$rowF['EntParty'];
                                        $Premi=$rowF['Premi'];
                                        $RemarksAgent=$rowF['RemarksAgent'];
                                        $No_Surat=$rowF['No_Surat'];
                                }
                                echo $Div;
    $queryC = "select top 1 idEnt from entReq order by idEnt desc";
                $resultC = sqlsrv_query($conn, $queryC);
                $rowC = sqlsrv_fetch_array($resultC);


              if(empty($rowC['idEnt']))
                {
                    $idEnt = 1;
                }
                else
                {
                    $idEnt = intval($rowC['idEnt']) + 1;
                }
                if(strlen(strval($idEnt)) == 1)
                {
                    $idEntString = "000".strval($idEnt);
                }
                elseif(strlen(strval($idEnt)) == 2)
                {
                    $idEntString = "00".strval($idEnt);
                }
                elseif(strlen(strval($idEnt)) == 3)
                {
                    $idEntString = "0".strval($idEnt);
                }
                else
                {
                    $idEntString = strval($idEnt);
                }


                $stringDiv = substr($Div,4,2);
            // echo $stringDiv."<br>";
                if($Div == "Unit 05")
                {
                    $stringDiv = "05";
                }

                $no_surat = "E".$stringDiv.date("m").date("y").$idEntString;
                 // echo $no_surat."<br>";


            if(isset($_POST['cmdPrint']))
            {
                $No_Surat = $_POST['No_Surat'];
            ?>
                <div class="framePrintPO">
                    <div class="margine2"></div>
                    <div class="frameLogo"><img src="images/logo.png"></div>
                    <h3>FORM PERMOHONAN <br></h3>
                    <h2>Pengeluaran Biaya Representasi, Jamuan dan Sumbangan <br></h2>
                    <div class="margine4"></div>

                    <div class="headerPO">
                        <div class="col1"><strong>Marketing</strong></div>
                        <div class="col2">:</div>
                        <div class="col3"><?php echo $oriname ?></div>

                        <div class="margine"></div>


                        <div class="col1"><strong>No Surat</strong></div>
                        <div class="col2">:</div>
                        <div class="col3"><?php echo $no_surat ?></div>

                    <div class="margine1"></div>

                </div>

                   <div class="margine"></div>
                    <table class="printPO">
                        <tr>
                            <th class="printPOCenter1">No</th>
                            <th class="printPOCenter1">Divisi yang Mengajukan</th>
                            <th class="printPOCenter1">Tanggal Pengajuan</th>
                            <th class="printPOCenter1">Jenis Biaya</th>
                            <th class="printPOCenter1">Tanggal Entertainment</th>
                            <th class="printPOCenter1">Pihak Yang Di Entertain</th>
                            <th class="printPOCenter1">Realisasi / Prospek Perolehan Premi (Rp)</th>
                            <th class="printPOCenter1">Catatan</th>
                            <th class="printPOCenter1">Jumlah Dana (Rp)</th>
                        </tr>

                        <?php
                                $data_ent = implode(',',$_POST['Action']);
                                $no=1;
                                $totalDana = 0;
                                $queryF = "select convert(varchar(20),InputDate,103) as 'InputDate',Div,TypeCost,
                                                    convert(varchar(20),EntDate,103) as 'EntDate',  Nominal,EntParty,Premi,
                                                    RemarksAgent,No_Surat from entReq WHERE IdEnt IN (".$data_ent.")";
                                $resultS = sqlsrv_query($conn, $queryF);
                                echo $queryF."<br>";
                                while($rowF = sqlsrv_fetch_array($resultS))
                                {


                                        $InputDate=$rowF['InputDate'];
                                        $Div =$rowF['Div'];
                                        $TypeCost=$rowF['TypeCost'];
                                        $EntDate=$rowF['EntDate'];
                                        $Nominal=$rowF['Nominal'];
                                        $EntParty=$rowF['EntParty'];
                                        $Premi=$rowF['Premi'];
                                        $RemarksAgent=$rowF['RemarksAgent'];
                                        $No_Surat=$rowF['No_Surat'];






                                    ?>

                                        <tr>
                                            <td class="printPOCenterisi"><?php echo $no ?></td>
                                            <td class="printPOCenterisi"><?php echo $Div ?></td>
                                            <td class="printPOCenterisi"><?php echo $rowF['InputDate'] ?></td>
                                            <td class="printPOCenterisi"><?php echo $rowF['TypeCost'] ?></td>
                                            <td class="printPOCenterisi"><?php echo $rowF['EntDate'] ?></td>
                                            <td class="printPOCenterisi"><?php echo $rowF['EntParty'] ?></td>
                                            <td class="printPOCenterisi"><?php echo number_format ($Premi) ?></td>
                                            <td class="printPOCenterisi"><?php echo $rowF['RemarksAgent'] ?></td>
                                            <td class="printPOCenterisi"><?php echo number_format ($Nominal) ?></td>
                                        </tr>

                                    <?php

                                    $no++;
                                    $totalDana += $rowF['Nominal'];



                                }
                                $query="insert into entReq (idEnt,userID,Nominal,InputDate,TypeCost,EntDate,EntParty,Premi,Div,RemarksAgent,No_Surat)
                                 select ".$idEnt.",'".$userID."','".$Nominal."',getdate(),'".$TypeCost."',convert(smalldatetime,'".$EntDate."',103),
                                 '".$EntParty."','".$Premi."','".$Div."','".$RemarksAgent."','".$No_Surat."'";
                                $result2= sqlsrv_query($conn, $query);


                        ?>

                         <tr>

                                <td class="printPOGaris" colspan="7"></td>
                                <td class="printPOCenterisi"><strong>Total</strong></td>
                                <td class="printPOCenterisi"><?php echo number_format($totalDana) ?></td>

                        </tr>




                    </table>

                    <div class="margine4"></div>


                        <table class="dataPO4">
                            <tr>
                                <th class="printPOCenterSign">Diajukan Oleh</th>
                                <th class="printPOCenterSign">Disetujui Oleh</th>

                            </tr>
                            <tr>
                                <td class="printPOSign1"></td>
                                <td class="printPOSign1"></td>

                            </tr>
                            <tr>
                                <th class="printPOCenterSign"> </th>
                                <th class="printPOCenterSign"> </th>

                            </tr>
                        </table>



                        <table class="dataPO4">
                            <tr>
                                <th class="printPOCenterSign">Disetujui Oleh Direksi,</th>
                            </tr>

                            <tr>
                                <td class="printPOSign1"> </td>
                            </tr>

                            <tr>
                                <th class="printPOCenterSign"> </th>
                            </tr>
                        </table>

                        <div class="margine"></div>

                        <div class="note">
                            <strong><u>Note : </u></strong><br>


                                 Tidak bisa diwakilkan, harus menggunakan login yang melakukan penginputan entertainment<br>


                        </div>


                        <div class="margine"></div>
                    </div>
            <?php
            }
            ?>

	</div>

	</body>
</html>

avatar math0511
@math0511

3 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

3 Jawaban:

"bagaimana 0001 itu bisa otomatis bertambah setiap user menekan tombol print data"

apakah bagian ini sudah berjalan:


              if(empty($rowC['idEnt']))
                {
                    $idEnt = 1;
                }
                else
                {
                    $idEnt = intval($rowC['idEnt']) + 1;
                }

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

sudah mas @abyanjksatu, sudah bisa..tapi belum terposting di Database sql server nya..saya mau menggunakan query update..tapi saya bingung query nya dimana..bisa tolong dibantu mas?

avatar math0511
@math0511

3 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

"belum terposting di Database sql server nya"

Table untuk simpan no_surat nya sudah ada mas?

Kalau sudah ada, setiap print, tambahkan query update:


    $queryUpdate = "UPDATE table_surat SET no_surat = " . $idEnt . " WHERE no_surat = " . $rowC['idEnt'];
                $resultUpdate = sqlsrv_query($conn, $queryUpdate);

Atau bisa dengan insert setiap print:


    $queryInsert = "INSERT INTO table_surat (no_surat) VALUES (".$idEnt.")";
                $resultInsert = sqlsrv_query($conn, $queryUpdate);

Nanti SELECT No_surat nya diambil dari table tersebut:


//diambil desc paling baru
    $querySelect = "SELECT no_surat FROM table_surat ORDER BY no_surat DESC;
                $resultSelect = sqlsrv_query($conn, $querySelect);

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban