Hi I have wrote a module for despalying my database table data into html format table. I have delete and edit button infront of every button. delete function is working fine. Code is as below
*<?php* *function doctor_menu() {* * $items = array();* * * * $items['doctor'] = array(* * 'title' => t('Doctors'),* * 'page callback' => 'doctors_list',* * 'access arguments' => array('access doctor'),* * 'type' => MENU_NORMAL_ITEM,* * );* * * * $items['doctor/delete/%doctor_user'] = array(* * 'title' => t('Delete doctor'),* * 'page callback' => 'drupal_get_form',* * 'page arguments' => array('doctor_delete_confirm', 2),* * 'access arguments' => array('access doctor'),* * 'type' => MENU_CALLBACK,* * );* * * * $items['doctor/edit/form'] = array(* * 'title' => t('doctor'),* * 'page callback' => 'drupal_get_form',* * 'page arguments' => array('doctor_page',2),* * 'access arguments' => array('access doctor'),* * 'type' => MENU_NORMAL_ITEM,* * );* *$items['doctor/edit/%doctor_user'] = array(* * 'title' => t('Edit Form'),* * 'page callback' => 'drupal_get_form',* * 'page arguments' => array('doctor_edit_confirm', 2),* * 'access arguments' => array('access doctor'),* * 'type' => MENU_NORMAL_ITEM,* * );* * return $items;* *}* *function doctors_list() {* * $header = array(t('Doctor Name'), t('Gender'), t('Status'), t('Action'));* * * * $query = "SELECT * FROM {doctor}";* * $rs = db_query($query);* * * * $row = array();* * * * if ($rs) {* * while ($data = db_fetch_object($rs)) {* * $gender = $data->gender;* * $status = $data->status ;* * $row[] = array(stripslashes(ucwords($data->firstname)) . ' ' . stripslashes(ucwords($data->lastname)), $gender, $status, * * "<a href='doctor/edit/{$data->doctorid}'>" . t('Edit') . "</a> | <a href='doctor/delete/{$data->doctorid}'>" . t('Delete') . "</a>");* * }* * }* * * * $str .= theme_table($header, $row);* * * * return $str;* *}* *function doctor_user_load($doctorid) {* * $query = "SELECT * FROM {doctor} WHERE doctorid = %d";* * $rs = db_query($query, $doctorid);* * * * if ($rs) {* * while ($data = db_fetch_object($rs)) {* * return $data;* * }* * }* * * * return FALSE;* *}* *function doctor_delete_confirm(&$form_state, $doctor) {* * $form['_doctor'] = array(* * '#type' => 'value',* * '#value' => $doctor,* * );* * * * return confirm_form($form,* * t('Are you sure you want to delete this doctor?'),* * isset($_GET['destination']) ? $_GET['destination'] : "doctor",* * t('This action cannot be undone.'),* * t('Delete'),* * t('Cancel'));* *}* *function doctor_delete_confirm_submit($form, &$form_state) {* * $form_values = $form_state['values'];* * * * if ($form_state['values']['confirm']) {* * $doctor = $form_state['values']['_doctor'];* * * * $query = "DELETE FROM {doctor} where doctorid=$doctor->doctorid";* * $rs = db_query($query);* * * * //doctor_delete($form_state['values'], $doctor->doctorid); * * * * drupal_set_message(t('Doctor has been deleted successfully.'));* * }* * * * drupal_goto("doctor");* *}* *function doctor_edit_confirm(&$form_state,$doctor){* * $form = array();* *$form['_doctor'] = array(* * '#type' => 'value',* * '#value' => $doctor,* * );* * $form['firstname']=array(* * '#title'=>t('First Name'),* * '#type'=>'textfield',* * //'#prefix'=>'<table class="formtable"><tr><td class="labeltext">First Name</td><td class="textbox">',* * '#suffix'=>'</td></tr>',* * );* *$form['lastname']=array(* * '#title'=>t('Last Name'),* * '#type'=>'textfield',* * '#default_value' => $lastname,* * );* *$form['gender']=array(* * '#title'=>t('Gender'),* * '#type'=>'radios',* * * * '#options' => array(t('male'), t('female')),* * '#default_value' => male,* * );* *$form['status']=array(* * '#title'=>t('Status'),* * '#type'=>'radios',* * '#default_value' => active,* * '#options' => array(t('active'), t('inactive')),* * * * );* * * *return confirm_form($form,t(''),* * isset($_GET['destination']) ? $_GET['destination'] : "doctor",* * t(''),* * t('Edit'),* * t('Cancel'));* *}* *function doctor_edit_confirm_submit($form, &$form_state)* *{* *if ($form_state['values']['confirm']) {* *$doctor = $form_state['values']['_doctors'];* * $firstname = $form_state['values']['firstname'];* * $lastname = $form_state['values']['lastname'];* * $gender1= $form_state['values']['gender'];* *$gender = $gender1 ? t('female') : t('male');* * $status1 = $form_state['values']['status'];* *$status = $status1 ? t('inactive') : t('active');* *$query = "UPDATE {doctor} SET firstname = '$firstname', lastname= '$lastname', gender = '$gender', status = '$status' WHERE doctorid=$doctor->doctorid";* * $rs = db_query($query); * * * * }* *drupal_goto("doctor");* *}* when i put hardcoded value infront of doctorid like doctorid=2 then its getting edited after i click on edit button but when i paasing it using varible and clicking edit button then its showing following error where firstname ->anitha,lastname->abc are the values i enetering in form while editing. *user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 query: UPDATE doctor SET firstname = 'anitha', lastname= 'abc', gender = 'female', status = 'inactive' WHERE doctorid= in D:\FR-Server\Apache2\htdocs\fr\sites\all\Modules\doctor\doctor.module on line 157.* my html table on drupal screen Doctor NameGenderStatusAction Mahesh Gajabarmaleinactive Edit<http://localhost/fr/doctor/edit/1>| Delete <http://localhost/fr/doctor/delete/1> Anitha PatilfemaleactiveEdit<http://localhost/fr/doctor/edit/2>| Delete <http://localhost/fr/doctor/delete/2> Pavithra MfemaleactiveEdit<http://localhost/fr/doctor/edit/3>| Delete <http://localhost/fr/doctor/delete/3> Ravi MandayammaleactiveEdit<http://localhost/fr/doctor/edit/4>| Delete <http://localhost/fr/doctor/delete/4> edit form : First Name: Last Name: Gender: male female Status: active inactive Cancel <http://localhost/fr/doctor> Please help me how i can pass that doctorid and also help me for getting default values in form when i click edit button in table. *MAHESH GAJABAR Software Developer FrontalRain Technologies,Bengaluru*