i am developing a module named crime.in which i am creating a form through crime.admin.inc file. i have to add ,edit and delete records from database(postgres).i m able to add and edit the records but delete operation is not happening. i did a lot of efforts but all went in vain.
here i am giving my 'crime.admin.inc' file.someone please help me to detect the error in this code so i can perform add,edit as well as delete operation.
crime.admin.inc
<?php
// $Id$
/**
* @file
* Administration page callbacks for the depts module.
*/
function crime_overview() {
list($types,$names) = crime_major_build();
// echo "
";print_r($types); echo "
";
$header = array(t('Name'), t('police station'), t('Address'),t('Date'),t('image') ,array('data' => t('Operation1'), 'colspan' => '1') ,array('data' => t('Operation2'), 'colspan' => '1'));
$rows = array();
foreach ($names as $key => $name)
{
$type = $types[$key];
$type_url_str = str_replace('_', '-', $type->crcode);
$row = array(
$name,$type->pstation,$type->address,$type->date,$type->image
);
// Set the edit column.
$row[] = array('data' => l(t('del'), 'admin/crime/major/del/'. $type_url_str));
if (true) {
$row[] = array('data' => l(t('edit'), 'admin/crime/major/edit/'. $type_url_str));
}
else {
$row[] = array('data' => '');
}
// Set the delete column.
$rows[] = $row;
}
if (empty($rows)) {
$rows[] = array(array('data' => t('No content types available.'), 'colspan' => '7', 'class' => 'message'));
}
return theme('table', $header, $rows);
}
/* */
function crime_major_build() {
$_crime_major = array();
$_crime_names = array();
$crime_result = db_query("SELECT * from crime_record order by crname");
while ($crime_object = db_fetch_object($crime_result)) {
$_crime_names[$crime_object->crcode] = $crime_object->crname;
$_crime_major[$crime_object->crcode] = $crime_object;
}
// asort($_crime_names);
return array($_crime_major,$_crime_names);
}
function crime_new_form(&$form_state, $arg = NULL) {
if (arg(3) == 'del')
{
if(!is_numeric($arg))
{
$id = $arg;
$del = db_fetch_array(db_query("SELECT * FROM crime_record WHERE crcode = '%s'",$arg));
//Store the key for delete purpose
$form['crcode'] = array('#type' => 'value','#value' => $id,);
//$code = $form_state['values']['crcode'];
//$result = db_query("delete from crime_record where crcode='%s'",$code);
//if($result)
// drupal_set_message(t('criminal record has been deleted.'));
}
else
{
drupal_not_found();
return;
}
}
else if (arg(3) == 'edit')
{
if (!is_numeric($arg))
{
//$id = $arg;
$edit = db_fetch_array(db_query("SELECT * FROM crime_record WHERE crcode = '%s'", $arg));
//Store the key for edit purpose
$form['crcode'] = array('#type' => 'value','#value' => $arg,);
}
else
{
drupal_not_found();
return;
}
}
else{ // For add new
}
$form['crime'] = array(
'#type' => 'fieldset',
'#title' => t('criminal database'),
);
//Name of the crime
$form['crime']['crname'] = array(
'#title' => t('criminal Name'),
'#type' => 'textfield',
'#description' => t('like gabber, rana, etc.,'),
'#required' => TRUE,
);
//Populate value on edit
//Populate value on edit
if(isset($del)){
$new = array('#default_value' => $del['crname']);
$form['crime']['crname'] = array_merge($form['crime']['crname'],$new);
}
else if(isset($edit)){
$new = array('#default_value' => $edit['crname']);
$form['crime']['crname'] = array_merge($form['crime']['crname'],$new);
}
else{}
/*Name of the crime
$form['crime']['sex'] = array(
'#title' => t('sex'),
'#type' => 'radios',
'#default_value' => variable_get('sex', 1),
'#options' => array('m'=>t('male'),'f'=> t('female')),
);
//Populate value on edit
if(isset($edit)){
$new = array('#default_value' => $edit['sex']);
$form['crime']['sex'] = array_merge($form['crime']['sex'],$new);
} */
$form['crime']['pstation'] = array(
'#title' => t('police station'),
'#type' => 'select',
//'#default_value' => variable_get('pstation','teaser'),
'#options' => array(
'warje naka' => t('warje naka'),
'karve nagar' => t('karve nagar'),
'deccan' => t('deccan'),
),
'#description' => t('Name of police station'),
//'#required' => TRUE,
);
if(isset($del)){
$new = array('#default_value' => $del['pstation']);
$form['crime']['pstation'] = array_merge($form['crime']['pstation'],$new);
}
//Populate value on edit
else if(isset($edit)){
$new = array('#default_value' => $edit['pstation']);
$form['crime']['pstation'] = array_merge($form['crime']['pstation'],$new);
}
//Populate value on edit
else{}
// Description about the crime.
$form['crime']['addr'] = array(
'#title' => t('Address'),
'#type' => 'textfield',
'#description' => t('Address of criminal,'),
'#required' => TRUE,
);
//Populate value on edit
if(isset($del)){
$new = array('#default_value' => $del['address']);
$form['crime']['addr'] = array_merge($form['crime']['addr'],$new);
}
else if(isset($edit)){
$new = array('#default_value' => $edit['address']);
$form['crime']['addr'] = array_merge($form['crime']['addr'],$new);
}
//Populate value on edit
else{}
// Description about the crime.
$form['crime']['date'] = array(
'#title' => t('Date'),
'#type' => 'textfield',
'#description' => t('Date of crime'),
//'#required' => TRUE,
//'#default_value'=>'Sample text..',
'#rows' => 3,
);
//Populate value on edit
if(isset($del)){
$new = array('#default_value' => $del['date']);
$form['crime']['date'] = array_merge($form['crime']['date'],$new);
}
else if(isset($edit)){
$new = array('#default_value' => $edit['date']);
$form['crime']['date'] = array_merge($form['crime']['date'],$new);
}
//Populate value on edit
else{}
//Description about the image.
$form['crime']['image'] = array(
'#title' => t('image'),
'#type' => 'file',
'#description' => t('image of criminal'),
);
//Populate value on edit
if(isset($del)){
$new = array('#default_value' => $del['image']);
$form['crime']['image'] = array_merge($form['crime']['image'],$new);
}
else if(isset($edit)){
$new = array('#default_value' => $edit['image']);
$form['crime']['image'] = array_merge($form['crime']['image'],$new);
}
//Populate value on edit
else{}
// Define a submit function.
$form['crime']['submit'] = array(
'#type' => 'submit',
'#value' => 'Save',
);
//Populate value on edit
if(isset($del)){
$new = array('#value' => 'Are u sure ?');
//Add the caption of command button
$form['crime']['submit'] = array_merge($form['crime']['submit'],$new);
}
else if(isset($edit)){
$new = array('#value' => 'edit');
//Add the caption of command button
$form['crime']['submit'] = array_merge($form['crime']['submit'],$new);
}
else{}
// $path = drupal_get_path('module', 'crime');
// drupal_add_js($path . '/crime.js');
return $form;
}
function crime_new_form_submit($form, &$form_state,$arg=null) {
//echo "
"; print_r($form_state['values']); echo "
";
$crname = $form_state['values']['crname'];
$sex=$form_state['values']['sex'];
$ps = $form_state['values']['pstation'];
$add = $form_state['values']['addr'];
$date = $form_state['values']['date'];
$img = $form_state['values']['image'];
if(arg(3)=='del')
{
$code = $form_state['values']['crcode'];
//$result = db_query("edit crime_record set crname = '%s', pstation = '%s',address='%s',date='%s', image='%s' where crcode = '%s'", //$crname,$ps,$add,$date,$img,$code);
$result=db_query("DELETE from crime_record where crcode='%s'",$code);
if($result)
drupal_set_message(t('criminal record has been deleted.'));
}
else if(arg(3)=='add'){
$result = db_query("INSERT INTO crime_record(crcode,crname,pstation,address,date,image) VALUES('cr006','%s','%s','%s','%s','%s')",$crname,$ps,$add,$date,$img);
if($result)
drupal_set_message(t('new record has been added.'));
else
drupal_set_message(t('New category not saved.'));
}
else if(arg(3)=='edit') {
$code = $form_state['values']['crcode'];
$result = db_query("UPDATE crime_record set crname = '%s', pstation = '%s',address='%s',date='%s', image='%s' where crcode = '%s'", $crname,$ps,$add,$date,$img,$code);
//$result=db_query("DELETE from crime_record where crcode='%s'",$code);
if($result)
drupal_set_message(t('criminal record has been editd.'));
}
else
{}
// Redirect to Major list
// $form_state['redirect'] = 'admin/crime/major';
return;
}