haak formulier indienen, hoe een databaseveld vergroten?

ik gebruik haakvorm in drupal.

Als de velden leeg zijn, wil ik dat deze de laatste waarde ontvangt die voor het veld is ingediend en verhoog deze met .01

Ik heb geprobeerd

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);

maar het werkt nergens bij, ik weet dat $ input01 werkt zoals ik het in een andere functie heb geprobeerd.

als ik drupal_write_record verander ('table', $ input01); op de opgegeven waarde werkt het.

0

2 antwoord

drupal_write_record() expects the second argument to be an object, at the moment you're passing a number. Also, if you're trying to update a record you'll need to provide the table's primary keys as the third argument. Something like this:

$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
toegevoegd
Ah, $ maxbid is verschenen! U kunt $ obj-> amount gebruiken in plaats van $ maxbid (bewerkt in het bovenstaande antwoord). Het bovenstaande laadt een volledige rij van uc_auction_bid in een object. Vervolgens wordt het veld aantal voor het object gewijzigd en wordt het opnieuw opgeslagen in de database. Omdat $ obj alle details van de record bevat (vooral primaire sleutel), werkt drupal_write_record . De bovenstaande code kan nu worden gebruikt in plaats van je originele code (ik weet tenminste zeker dat het zou kunnen, probeer het :-))
toegevoegd de auteur Clive, de bron
Hallo, bedankt voor het antwoord. Ik kon het meeste niet vertellen over wat ik wel aan het doen ben. Verander ik de mijne naar het bovenstaande of voeg ik het toe. Als ik gebruik alleen het bovenstaande im niet verklaren waar im het krijgen van maxbid
toegevoegd de auteur Sam Healey, de bron

Ik ben nieuw hier en wou dat ik gewoon kon reageren in plaats van te zeggen dat ik iets beantwoordde ...

Hoe dan ook, wat is $ maxbid? Het bestaat niet in de functie vóór de vergelijking. Is het een mondiaal? Of moet $ input $ maxbid zijn (of omgekeerd) in uw codevoorbeeld?

0
toegevoegd
bedankt dat je erop wees.
toegevoegd de auteur Sam Healey, de bron