kanca shaklini yuborish, ma'lumotlar bazasini qanday qilib oshirish kerak?

kup shaklidan foydalanib, drupal-da o'zgaradi.

Maydonlarni bo'sh qoldirib qolsam, maydonga kiritilgan so'nggi qiymatni olishni xohlayman. 01

Ive harakat qildi

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

lekin u hech narsa bilan yangilanmaydi, men $ input01 ni bilaman, chunki uni boshqa funktsiyada sinab ko'rdim.

agar men drupal_write_recordni o'zgartirsam ('table', $ input01); taqdim etilgan qiymatga ishlaydi.

0

2 javoblar

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
qo'shib qo'ydi
Eh, $ maxbid paydo bo'ldi! $ maxbid o'rniga $ obj-> miqdori dan foydalanishingiz mumkin (yuqoridagi javobda tahrirlangan). Yuqorida ko'rsatilgan kod, uc_auction_bid dan ob'ektga to'la satrni yuklaydi. Keyin ob'ekt uchun miqdorini maydonini o'zgartiradi va uni ma'lumotlar bazasiga qaytaradi. $ obj yozuvning barcha tafsilotlari (eng muhimi asosiy kalit) bo'lgani uchun drupal_write_record ishlaydi. Yuqoridagi kodni endi asl kodingiz o'rniga ishlatish mumkin (hech bo'lmaganda men ishonch hosil qilaman, uni sinab ko'ring :-))
qo'shib qo'ydi muallif Clive, manba
salom, javob uchun rahmat. Buni ko'pchilik bilan bog'lashning iloji yo'q edi. Menni yuqoridagi holatga o'zgartira olamanmi yoki uni qo'shamanmi? Agar men faqatgina yuqoridagi imdan maxbidni qaerdan olishni bildirmasam
qo'shib qo'ydi muallif Sam Healey, manba

Men bu yerda yangi edim va hech qanday javob bermayman deb aytish o'rniga izoh berishim mumkin ...

Yaxshiyamki, $ maxbid nima? Bu taqqoslashdan oldin funktsiyada mavjud emas. Globalmi? Yoki $ input kod misolida maxbid (yoki aksincha) bo'lishi kerakmi?

0
qo'shib qo'ydi
ko'rsatganingiz uchun tashakkur.
qo'shib qo'ydi muallif Sam Healey, manba
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin