[英]How to save dynamic generated table data to mysql database in php codeigniter
[英]PHP save a generated number to mysql database
抱歉,我是使用代码和英语的初学者:)。 我有一个代码,可以将一些信息保存到数据库。 该数据库具有一个“ id”和一个“ next_number”列。 使用更新next_number列中的单元格的脚本时。 但是我想用该数字更新整列。 “ next_numer”是多种多样的。 我想将此“ $ department-> next_number +1”保存到所有“ id”。 有人可以帮我吗?
//...
public static function generateCode($department_id)
{
$code = '';
$db = JFactory::getDbo();
$department = RSTicketsProHelper::getDepartment($department_id);
if ($department->generation_rule == RST_DEPARTMENT_RULE_RANDOM)
{
// trick to enter the loop below
$found = true;
while ($found)
{
// add the department prefix
$code = $department->prefix . '-2017' . strtoupper(self::generateNumber(4));
$query = $db->getQuery(true);
$query->select($db->qn('id'))
->from($db->qn('#__rsticketspro_tickets'))
->where($db->qn('code') . '=' . $db->q($code));
$db->setQuery($query);
$found = $db->loadResult();
}
}
elseif ($department->generation_rule == RST_DEPARTMENT_RULE_SEQUENTIAL)
{
// add the department prefix
$code = '2017' . str_pad($department->next_number, 3, 0, STR_PAD_LEFT) . $department->prefix;
$department->save(array(
'id' => $department->id,
'next_number' => $department->next_number + 1
));
}
return $code;
}
我不确定您的问题是什么,但是如果您想对表中所有记录的“ next_number”列中的+1求和,则可以使用SQL轻松完成。 例:
UPDATE YOUR_TABLE_NAME SET next_number = next_number + 1;
或者,如果您只想更新一条记录,则可以使用:
UPDATE YOUR_TABLE_NAME SET next_number = next_number + 1 WHERE id=1;
希望对您有所帮助。
问候。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.