大家好,
我使用Data這個模組於資料庫中新增了一張資料表(profile)
我也上網查了一些資料,目前已經可以自己新增內容至資料庫
[已解決。Code如下]想請問,該如何在新增紀錄時,可以取得當下的使用者是誰(current user)並將使用者的名稱一同紀錄下來(用使用者名稱紀錄到profile資料表中user的欄位,就是可以紀錄這筆資料是誰新增的)
我的code目前如下:
<?php
/**
* @file
* Demonstrates how to add move labels to side
*//**
* Implements hook_menu().
*/
function addfood_menu() {
$items['food/add'] = array(
'title' => '新增紀錄',
'page callback' => 'addfood_page',
'access callback' => TRUE,
);
return $items;
}/**
* Implements hook_permission.
*/
function addfood_permission() {
return array(
'addfood module' => array(
'title' => t('Addfood module permission'),
));
}/**
* Returns form render array.
*/
function addfood_form($form, &$form_state) {
if (user_access('addfood module')) {
//Allowed
$form['name'] = array(
'#title' => t('名稱'),
'#type' => 'textfield',
'#required' => TRUE,
);
$form['calorie'] = array(
'#title' => t('卡路里'),
'#type' => 'textfield',
'#required' => TRUE,
'#description' => t('填寫卡路里(單位:千卡)'),
);
$form['notes'] = array(
'#title' => t('備註'),
'#type' => 'textarea',
'#resizable' => TRUE,
'#description' => t('相關備註'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
} else {
//Access denied,這邊寫得不太好,可以再修改一下
header('Location: ../user/login?destination=food/add');
}
}/**
* Menu callback.
*/
function addfood_page() {
return drupal_get_form('addfood_form');
}/**
* Submission handler for form_example -> Insert into database
*/
function addfood_form_submit($form, &$form_state) {
global $user;
$fe_id = db_insert('profile')
->fields(array(
'name' => $form_state['values']['name'],
'calorie' => $form_state['values']['calorie'],
'notes' => $form_state['values']['notes'],
'user' => $user->name,
))
->execute();
drupal_set_message(t('內容已新增!!!!'));
return $form;
}
?>
不太明白你的意思。你能否說明一下:
不太明白你的意思。你能否說明一下:
這樣其他人才能提出比較具體的建議。
hello你好,
hello你好,
因為我想要讓所有的欄位是在同一個資料表中
使用內容類型的話,每個欄位會分散到不同的資料表
因為到時候有其他用途,要在一個一個去做對應 有點麻煩
現在想要問的,就是該如何取得當下使用者是誰,在新增的紀錄的時候,可以一起被寫入資料庫中@@
Coding 的問題就要請教其他高手了。
Coding 的問題就要請教其他高手了。
我仍不明白為什麼不用內容類型來做輸入,然後用 views 來做資料彙整和輸出就好,要這麼大費周張呢?
不曉得你的目標是什麼,
不曉得你的目標是什麼,
tky所建議的內容類型作法,好處是,
BTW, 因為看起來你會寫程式,其實看一下drupal 的api,應該會挺快的
因為我到時候會需要使用ID撈出資料
因為我到時候會需要使用ID撈出資料
用內容類型建立的話 所有欄位的資料會散布在各個不同的table裡面
還要另外再去做配對 覺得有點複雜
所以才想說如果有簡單的一個form可以直接寫入到單一資料表中
views也有支援data,所以我還是可以用views來呈現資料內容
主要就是有一些其他非在網站上需要操作的用途啦
謝謝大家的回覆^^
username 是可以任何改變的 :) user ID
username 是可以任何改變的 :) user ID 就不會....你上面寫死了,所以...某程度是可以不認帳的.... 某程度,後來者使用了相同名字,是極不幸的...
讀取出資料時,如果不是使用 Views 時需要注意安全問題,因為 Content Type Nodes 都會經過 XSS FILTER。
Hello Kay,
Hello Kay,
的確應該用UID來紀錄比較妥當一些
另外,讀取資料是使用views沒錯!
謝謝你的提醒