Я создал основной пользовательский модуль. в этом я только что заполнил информационную форму, и эта информация будет сохранена в базе данных. и эти данные я показываю в виде таблицы. Теперь я хочу редактировать и удалять записи по ссылкам.
Я хочу вызвать функцию php при нажатии на следующие ссылки
ссылки:
while($data = $result->fetchObject()){
$rows[] = array(
$data->id,
$data->name,
$data->address,
$data->mob,
$data->gen,
$data->email,
$data->hob,
l('Edit' .$data->id,'/table', array('query' => array('edi'=>$data- >id))),
l('Delete' .$data->id, '/table', array('query' => array('del'=>$data->id))),
);
}
и функции следующие:
function form_values_edit($id){
$id_val = $id;
$my_object = db_select('demo_forms','n')
->fields('n')
->condition('id', $id_val )
->execute()
->fetchAssoc();
return drupal_get_form('demo_form', $my_object);
}
function delete_confirm($form, &$form_state, $id){
$form['delete'] = array(
'#type' => 'value',
'#value' => $id,
);
return confirm_form(
$form,
t('Are you sure you want to delete this?',
'/table',
t('This action cannot be undone'),
t('Delete'),
t('Cancel')
));
}
function delete_confirm_submit($form, &$form_state) {
$record = $form_state['values']['delete'];
if ($record ) {
$num_deleted = db_delete('demo_forms')
->condition('id', $record )
->execute();
drupal_set_message('The record has been deleted!');
}
$form_state['redirect'] = "/table";
}
Спасибо
Вы не можете вызвать функцию PHP динамически, нажав на ссылку, так как PHP является server side language
, ОДНАКО, если вы загружаете другую страницу, перед загрузкой страницы вы можете выполнить код PHP.
РЕДАКТИРОВАТЬ
если вам нужна функция PHP динамически, то, что я обычно делаю (и это может быть неправильно по мнению некоторых людей), это вызов этой функции в AJAX
вызов. Примечание: я бы обычно использовал POST для этого.
$.ajax(
url: 'url/to/php/function',
type: 'POST/GET',
data: {'data' : data},
success: function(res) {
// use the result stored in res
},
error: function(res) {
// use res to get the error result
}
);
Просто добавьте проверку для поля id или другое уникальное значение в вашем php-коде и обновите или удалите строки, где id = … Без уникального значения вы не можете этого сделать. Опишите удобство использования и опубликуйте свой html для получения дополнительной информации …