自动生成的值PHP

时间:2012-11-14 04:26:49

标签: php

我正在尝试生成一个值,而不是像数据库那样生成一个值,而是在前端或客户端..你有什么聪明的想法吗?因为Booking ref不是我的主键,所以无法自动生成。我想做的是初始值为10307,然后每当用户创建新记录时递增它。

但到目前为止我尝试过的是PHP:

private function inputBookingRef() {
    $value = $this->bookingRef;
    $html = "";
    $value = 10307;
    $value++;
    $html .= '<label for="ref">Booking Ref: </label>';
    $html .= HTML::inputText("ref", 20, $value) . PHP_EOL;
    return $html;
}

注意: 我的初始值是10307,然后我使用increment运算符使它成为10308.但是每次我创建另一个记录时它只给出10308.我认为必须有一些聪明的方法来使它增加。

欢迎任何帮助。感谢。

3 个答案:

答案 0 :(得分:0)

如果您要查找的只是一个唯一的数字,只需使用PHP的time函数并使用自纪元以来的当前秒数。

$unique_num = time();

答案 1 :(得分:0)

如果你需要一个使用php而没有数据库的唯一id,请使用uniquid

但我仍然不明白你想要在这里完成什么

答案 2 :(得分:0)

由于您要将值保存在db中,您只需从数据库中获取值并将该值传递给您的函数,因此每次它都会增加您之前的值。

$query = mysql_query("SELECT MAX(ref_id) FROM table ORDER BY id DESC LIMIT 1");//Getting the max ref_id
$values = mysql_fetch_assoc($query);
inputBookingRef($values['ref_id'])//calling the function

private function inputBookingRef($value) {
    //$value = $this->bookingRef;
    $html = "";
    //$value = 10307;
    $value++;
    $html .= '<label for="ref">Booking Ref: </label>';
    $html .= HTML::inputText("ref", 20, $value) . PHP_EOL;
    return $html;
}

最后将新的$值插入Db