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;

}