我在drupal中使用hook形式的alter。
如果字段留空,我希望它获取为该字段提交的最后一个值并将其增加 0.01
我试过了
function uc_pa_form_submit($form, &$form_state) {
global $user;
$maxbid = db_result(db_query('SELECT MAX(amount) FROM {uc_auction_bids} WHERE nid = %d', $node->nid));
$input01 = (($maxbid) ? $maxbid : 0) + .01;
drupal_write_record('table', $input01);
但它没有更新任何东西,我知道 $input01 可以工作,因为我在不同的函数中尝试过它。
如果我更改 drupal_write_record('table', $input01);提交的值是有效的。
最佳答案
drupal_write_record()
当您传递一个数字时,期望第二个参数是一个对象。此外,如果您尝试更新记录,则需要提供表的主键作为第三个参数。像这样的事情:
$sql = 'SELECT * FROM FROM {uc_auction_bids} WHERE nid = %d ORDER BY amount DESC LIMIT 1';
$obj = db_fetch_object(db_query($sql));
$obj->amount = (($obj->amount) ? $obj->amount: 0) + .01;
drupal_write_record('uc_auction_bids', $obj, array('bid'));
关于php - hook表单提交,如何增加数据库字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921088/