簡體   English   中英

PHP將生成的數字保存到mysql數據庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM