如何根据所选日期获取自动编号

时间:2015-04-08 12:43:36

标签: php mysql database autonumber

请帮我根据所选日期获取自动编号?我有自动编号的工作代码,但仅适用于今天/当前日期。我想要的是如果选择日期选项然后根据所选日期生成自动编号...

这是我当前日期的示例代码

    $today=date("ymd");
    $query = "SELECT max(id) AS last FROM member WHERE id LIKE '$today%'";
    $hasil = mysql_query($query);
    $data  = mysql_fetch_array($hasil);
    $lastNoTransaksi = $data['last'];
    $lastNoUrut = substr($lastNoTransaksi, 8, 2);
    $nextNoUrut = $lastNoUrut + 1;
    $nextNoTransaksi = $today.sprintf('.%02s', $nextNoUrut);?>

这是我的完整代码,其中包含html选择日期

<?php
require("db.php");
$today=date("ymd");
$query = "SELECT max(id) AS last FROM member WHERE id LIKE '$today%'";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);
$lastNoTransaksi = $data['last'];
$lastNoUrut = substr($lastNoTransaksi, 8, 2);
$nextNoUrut = $lastNoUrut + 1;
$nextNoTransaksi = $today.sprintf('.%02s', $nextNoUrut);?>



<form method="post">
<table align="center">
<tr ><td>Date</td>
<td><input type="date" name="date" /></td>
</tr>
<tr><td>Code</td>
<td>
<?php echo $nextNoTransaksi; ?></td>
</tr>
<tr >
<td>Name</td>
<td><input type="text" name="name" /></td>
</tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Input" /></td>
</tr>
</table>

非常感谢你的帮助

2 个答案:

答案 0 :(得分:0)

您可以将日期转换为unix时间戳,并使用它来生成您的号码。

$date = date('ymd', strtotime('2014-03-20'));

在你的情况下

$date = date('ymd', strtotime($_POST['date']));

您还可以使用time()获取当前的unix时间戳并对其进行修改

time() + 60*60; // current time + 1 hour

答案 1 :(得分:0)

非常感谢lexmihaylov ......现在正在工作

所以我创建了2个文件......

  1. form.php的
  2. autonumber.php
  3. 这个form.php

    <form method="post" action="autonumber.php">
    <table align="center">
    <tr><td>Date</td>
    <td><input type="date" name="date" /></td>
    </tr>
     <tr><td>Company</td>
     <td><input type="text" name="company" /></td>
     </tr>
    
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Input" /></td>
    </tr>
    </table>
    

    这是autonumber.php

    <?php
     require("db.php");
     $today=date("ymd", strtotime($_POST['date']));
     $query = "SELECT max(id) AS last FROM member WHERE id LIKE '$today%'";
     $hasil = mysql_query($query);
     $data  = mysql_fetch_array($hasil);
     $lastNoTransaksi = $data['last'];
     $lastNoUrut = substr($lastNoTransaksi, 8, 2);
     $nextNoUrut = $lastNoUrut + 1;
     $nextNoTransaksi = $today.sprintf('.%02s', $nextNoUrut);
     ?>
    
     <?php echo $nextNoTransaksi; ?>
    

    现在每次更改日期时,都会根据我选择的日期生成自动编号...

    感谢帮助我