我在drupal中使用钩子形式改变。
如果字段留空,我希望它获取为该字段提交的最后一个值并将其增加.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);提交的价值是有效的。
答案 0 :(得分:1)
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'));
答案 1 :(得分:0)
我是新来的,希望我能发表评论,而不是说我正在回答任何事情......
无论如何,$ maxbid是什么?它在比较之前的函数中不存在。它是全球性的吗?或者在代码示例中$ $输入是$ maxbid(反之亦然)?