我正在尝试生成一个值,而不是像数据库那样生成一个值,而是在前端或客户端..你有什么聪明的想法吗?因为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.我认为必须有一些聪明的方法来使它增加。
欢迎任何帮助。感谢。
答案 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