Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
搜索内容的Drupal表单_Drupal_Drupal Forms_Drupal Form Submission - Fatal编程技术网

搜索内容的Drupal表单

搜索内容的Drupal表单,drupal,drupal-forms,drupal-form-submission,Drupal,Drupal Forms,Drupal Form Submission,我正在尝试创建一个表单来搜索具有特定字段值的节点。下面是我的表格。该节点包含一个city字段、一个分类术语等。我只想知道如何在新的drupal页面中显示从mysql select中获得的结果 function q_search_form($form_state) { $form['qsearch']['category'] = array( '#type' => 'select', '#options' => array('' => 'Any', 2 =

我正在尝试创建一个表单来搜索具有特定字段值的节点。下面是我的表格。该节点包含一个city字段、一个分类术语等。我只想知道如何在新的drupal页面中显示从mysql select中获得的结果

    function q_search_form($form_state) {
$form['qsearch']['category'] = array(
    '#type' => 'select',
    '#options' => array('' => 'Any', 2 => 'Automotive', 1 => 'Real Estate'),
    '#attributes' => array('class' => 'drop-box'),
    '#prefix' => '<table width="470"><tr><td width="170">Select Category</td><td width="300">',
    '#suffix' => '</td></tr>'
);
$form['qsearch']['city'] = array(
    '#type' => 'select',
    '#options' => array('' => 'Any', 'kozhikode' => 'Kozhikode', 'kochi' => 'Kochi'),
    '#attributes' => array('class' => 'drop-box'),
    '#prefix' => '<tr><td width="170">City</td><td width="300">',
    '#suffix' => '</td></tr>'
);
$form['qsearch']['property'] = array(
    '#type' => 'select',
    '#options' => array('' => 'Any', 18 => 'Land and House', 17 => 'Land'),
    '#attributes' => array('class' => 'drop-box'),
    '#prefix' => '<tr><td width="170">Property</td><td width="300">',
    '#suffix' => '</td></tr>'
);
$form['qsearch']['wanto'] = array(
    '#type' => 'select',
    '#options' => array('' => 'Any', 'sell' => 'Sell', 'buy' => 'Buy'),
    '#attributes' => array('class' => 'drop-box'),
    '#prefix' => '<tr><td width="170">Want to</td><td width="300">',
    '#suffix' => '</td></tr>'
);
$form['qsearch']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Search'),
    '#attributes' => array('id' => 'Search', 'class' => 'srch-button'),
    '#prefix' => '<tr><td><a class="adv-srch" href="#">Advance Search</a></td><td>',
    '#suffix' => '</td></tr></table>'
);
return $form;
}

 function q_search_form_submit($form, &$form_state) {
   $wantto = $form_state['values']['wanto'];
    $property = $form_state['values']['property'];
    $city = $form_state['values']['city'];
     $category = $form_state['values']['category'];
      $sql = ' SELECT A.nid FROM node A 
        LEFT JOIN content_type_item B ON A.vid = B.vid
        LEFT JOIN term_node C ON A.vid = C.vid
        LEFT JOIN term_hierarchy D ON D.tid = C.tid
        WHERE A.type = "item" 
        AND B.field_tr_type_value = "'.$wantto.'"
        AND B.field_city_value = "'.$city.'"
        AND D.parent = '.$category.'
        AND C.tid = '.$property.'
   ';
   $result = db_query($sql);   

   }

在你询问之后,试着这样做

while($result = db_fetch_array($sql)){
  $output .= "<div>$result['somevalue']</div>";
  $output .= " <br/> ";
}
if (isset($sql)) {
  drupal_set_message(t('Search submitted successfully.'));     
}else {   
  drupal_set_message(t('Please try again.'));      
}
return $output;

谢谢,但这不是我想要的。我想在另一页中显示结果。我如何将输出发送到另一个页面好的,除了将查询变量存储在$form\u state['values']['wanto']等的$form\u会话中,并通过$form\u state['redirect']='somepath'重定向表单之外;继续上述逻辑。