Jump to content

Recommended Posts

Hello, I am currently using a pre-built search for my PHP, MySQL web site,

 

I am using Sphider. I have altered the search to display drop down boxes that allow you to select the state and prop type,

 

my question is how can i get the drop down boxes to automaticly fill in the search text box or use the drop downs for search only.

 

 

here is the php for search.

 

<?php

/*******************************************

* Sphider Version 1.3.x

* This program is licensed under the GNU GPL.

* By Ando Saabas          ando(a t)cs.ioc.ee

********************************************/

//error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);

error_reporting(E_ALL);

$include_dir = "./include";

include ("$include_dir/commonfuncs.php");

//extract(getHttpVars());

 

if (isset($_GET['query']))

$query = $_GET['query'];

if (isset($_GET['search']))

$search = $_GET['search'];

if (isset($_GET['domain']))

$domain = $_GET['domain'];

if (isset($_GET['type']))

$type = $_GET['type'];

if (isset($_GET['catid']))

$catid = $_GET['catid'];

if (isset($_GET['category']))

$category = $_GET['category'];

if (isset($_GET['results']))

$results = $_GET['results'];

if (isset($_GET['start']))

$start = $_GET['start'];

if (isset($_GET['adv']))

$adv = $_GET['adv'];

 

 

$include_dir = "./include";

$template_dir = "./templates";

$settings_dir = "./settings";

$language_dir = "./languages";

 

 

require_once("$settings_dir/database.php");

require_once("$language_dir/en-language.php");

require_once("$include_dir/searchfuncs.php");

require_once("$include_dir/categoryfuncs.php");

 

 

include "$settings_dir/conf.php";

 

include "$template_dir/$template/header.html";

include "$language_dir/$language-language.php";

 

 

if ($type != "or" && $type != "and" && $type != "phrase") {

$type = "and";

}

 

if (preg_match("/[^a-z0-9-.]+/", $domain)) {

$domain="";

}

 

 

if ($results != "") {

$results_per_page = $results;

}

 

if (get_magic_quotes_gpc()==1) {

$query = stripslashes($query);

}

 

if (!is_numeric($catid)) {

$catid = "";

}

 

if (!is_numeric($category)) {

$category = "";

}

 

 

 

if ($catid && is_numeric($catid)) {

 

$tpl_['category'] = sql_fetch_all('SELECT category FROM '.$mysql_table_prefix.'categories WHERE category_id='.(int)$_REQUEST['catid']);

}

 

$count_level0 = sql_fetch_all('SELECT count(*) FROM '.$mysql_table_prefix.'categories WHERE parent_num=0');

$has_categories = 0;

 

if ($count_level0) {

$has_categories = $count_level0[0][0];

}

 

 

 

require_once("$template_dir/$template/search_form.html");

 

 

function getmicrotime(){

    list($usec, $sec) = explode(" ",microtime());

    return ((float)$usec + (float)$sec);

    }

 

 

 

function poweredby () {

global $sph_messages;

    //If you want to remove this, please donate to the project at http://www.sphider.eu/donate.php

    print $sph_messages['Powered by'];?>  <a href="http://www.sphider.eu/"><img src="sphider-logo.png" border="0" style="vertical-align: middle" alt="Sphider"></a>

 

    <?php

}

 

 

function saveToLog ($query, $elapsed, $results) {

        global $mysql_table_prefix;

    if ($results =="") {

        $results = 0;

    }

    $query =  "insert into ".$mysql_table_prefix."query_log (query, time, elapsed, results) values ('$query', now(), '$elapsed', '$results')";

mysql_query($query);

                   

echo mysql_error();

                       

}

 

switch ($search) {

case 1:

 

if (!isset($results)) {

$results = "";

}

$search_results = get_search_results($query, $start, $category, $type, $results, $domain);

require("$template_dir/$template/search_results.html");

break;

default:

if ($show_categories) {

if ($_REQUEST['catid']  && is_numeric($catid)) {

$cat_info = get_category_info($catid);

} else {

$cat_info = get_categories_view();

}

require("$template_dir/$template/categories.html");

}

break;

}

 

include "$template_dir/$template/footer.html";

?>

 

 

here is the HTML form

 

<center>

<table cellpadding="5" cellspacing="1" class="searchBox">

<tr>

<td align="center">

 

<form action="search.php" method="get">

 

<table><tr><td>

<div align="left">

<input type="text" name="query" id="query" size="40" value="<?php  print quote_replace($query);?>" action="include/js_suggest/suggest.php" columns="2" autocomplete="off" delay="1500">

<form action="" method ="post">

<input type="text" name="search">

<select name="state">

<option value="Nation Wide"> Nation Wide </option>

<option value="Nation Wide ex AK/HI"> Nation Wide ex AK & HI </option>

<option value="Alabama"> Alabama </option>

<option value="Alaska"> Alaska </option>

<option value="Arizona"> Arizona </option>

<option value="Arkansas"> Arkansas </option>

<option value="California"> California </option>

<option value="Colorado"> Colorado </option>

<option value="Connecticut"> Connecticut </option>

<option value="Deleware"> Deleware </option>

<option value="Florida"> Florida </option>

<option value="Georgia"> Georgia </option>

<option value="Hawaii"> Hawaii </option>

<option value="Idaho"> Idaho </option>

<option value="Illinois"> Illinois </option>

<option value="Indiana"> Indiana </option>

<option value="Iowa"> Iowa </option>

<option value="Kansas"> Kansas </option>

<option value="Kentucky"> Kentucky </option>

<option value="Louisiana"> Louisiana </option>

<option value="Maine"> Maine </option>

<option value="Maryland"> Maryland </option>

<option value="Massachusetts"> Massachusetts </option>

<option value="Michigan"> Michigan </option>

<option value="Minnesota"> Minnesota </option>

<option value="Mississippi"> Mississippi </option>

<option value="Missouri"> Missouri </option>

<option value="Montana"> Montana </option>

<option value="Nebraska"> Nebraska </option>

<option value="Nevada"> Nevada </option>

<option value="New Hampshire"> New Hampshire </option>

<option value="New Jersey"> New Jersey </option>

<option value="New Mexico"> New Mexico </option>

<option value="New York"> New York </option>

<option value="North Carolina"> North Carolina </option>

<option value="North Dakota"> North Dakota </option>

<option value="Ohio"> Ohio </option>

<option value="Oklahoma"> Oklahoma </option>

<option value="Oregon"> Oregon </option>

<option value="Pennsylvania"> Pennsylvania </option>

<option value="Rhode Island"> Rhode Island </option>

<option value="South Carolina"> South Carolina </option>

<option value="South Dakota"> South Dakota </option>

<option value="Tennessee"> Tennessee </option>

<option value="Texas"> Texas </option>

<option value="Utah"> Utah </option>

<option value="Vermont"> Vermont </option>

<option value="Virginia"> Virginia </option>

<option value="Washington"> Washington </option>

<option value="West Virginia"> West Virginia </option>

<option value="Wisconsin"> Wisconsin </option>

<option value="Wyoming"> Wyoming </option>

</select>

 

<select name="prop">

<option value="Downtown or Streetfront"> Downtown or Streetfront </option>

<option value="Freestanding Pad"> Freestanding Pad </option>

<option value="Lifestyle Center"> Lifestyle Center </option>

<option value="Mall or Food Court"> Mall or Food Court </option>

<option value="Nontraditional Units"> Nontraditional Units </option>

<option value="Power Center"> Power Center </option>

<option value="Shopping Center"> Shopping Center </option>

<option value="Entertainment Center"> Entertainment Center </option>

<option value="Manufacturer Outlet Center"> Manafacturer Outlet Center </option>

<option value="Regional Mall"> Regional Mall </option>

</select>

 

<input type="submit" name="submit" value="search">

</form>

</div>

<td>

<input type="submit" value="<?php print $sph_messages['Search']?>">

</td></tr></table>

 

 

<?php  if ($adv==1 || $advanced_search==1) {

?>

<table width = "100%">

<tr>

<td width="40%"><input type="radio" name="type" value="and" <?php print $type=='and'?'checked':''?>><?php print $sph_messages['andSearch']?></td>

<td><input type="radio" name="type" value="or" <?php print $_REQUEST['type']=='or'?'checked':''?>><?php print $sph_messages['orSearch']?></td></tr>

<tr>

<td><input type="radio" name="type" value="phrase" <?php print $_REQUEST['type']=='phrase'?'checked':''?>><?php print $sph_messages['phraseSearch']?></td>

<td><?php print $sph_messages['show']?>

<select name='results'>

      <option <?php  if ($results_per_page==10) echo "selected";?>>10</option>

  <option <?php  if ($results_per_page==20) echo "selected";?>>20</option>

      <option <?php  if ($results_per_page==50) echo "selected";?>>50</option>

      <option <?php  if ($results_per_page==100) echo "selected";?>>100</option>

</select>

 

  <?php print $sph_messages['resultsPerPage']?> 

  </td>

</tr>

</table>

<?php }?>

 

 

 

<?php if ($catid<>0){?>   

<center><b><?php print $sph_messages['Search']?></b>: <input type="radio" name="category" value="<?php print $catid?>"><?php print $sph_messages['Only in category']?> "<?php print $tpl_['category'][0]['category']?>'" <input type="radio" name="category" value="-1" checked><?php print $sph_messages['All sites']?></center>

<?php  }?>

<input type="hidden" name="search" value="1">

</form>

<?php if ($has_categories && $search==1 && $show_categories){?>

<a href="search.php"><?php print $sph_messages['Categories']?></a>

<?php  }?>  

</td>

 

</tr>

</table>

</center>

 

I just assume my error is here in the HTML...

 

Any help would be more than appreciated.

 

 

 

 

post-133436-13482403441124_thumb.png

Link to comment
https://forums.phpfreaks.com/topic/261545-search-submission/
Share on other sites

Okay so i have the following code and have placed the code you provided to me in appropriate spots, and it works.

I now have the following.

 

I have changed BOLD RED

 

 

<center>

<table cellpadding="5" cellspacing="1" class="searchBox">

<tr>

<td align="center">

 

<form action="search.php" method="get">

 

<table><tr><td>

<div align="left">

<input type="text" name="query" id="query" size="40" value="<?php  print quote_replace($query);?>" action="include/js_suggest/suggest.php" columns="2" autocomplete="off" delay="1500">

<form action="" method ="post">

<input type="text" name="search">

<select name="state" onchange="document.getElementById('query').value=this.value;">

<option value="Nation Wide"> Nation Wide </option>

<option value="Nation Wide ex AK/HI"> Nation Wide ex AK & HI </option>

<option value="Alabama"> Alabama </option>

<option value="Alaska"> Alaska </option>

<option value="Arizona"> Arizona </option>

<option value="Arkansas"> Arkansas </option>

<option value="California"> California </option>

<option value="Colorado"> Colorado </option>

<option value="Connecticut"> Connecticut </option>

<option value="Deleware"> Deleware </option>

<option value="Florida"> Florida </option>

<option value="Georgia"> Georgia </option>

<option value="Hawaii"> Hawaii </option>

<option value="Idaho"> Idaho </option>

<option value="Illinois"> Illinois </option>

<option value="Indiana"> Indiana </option>

<option value="Iowa"> Iowa </option>

<option value="Kansas"> Kansas </option>

<option value="Kentucky"> Kentucky </option>

<option value="Louisiana"> Louisiana </option>

<option value="Maine"> Maine </option>

<option value="Maryland"> Maryland </option>

<option value="Massachusetts"> Massachusetts </option>

<option value="Michigan"> Michigan </option>

<option value="Minnesota"> Minnesota </option>

<option value="Mississippi"> Mississippi </option>

<option value="Missouri"> Missouri </option>

<option value="Montana"> Montana </option>

<option value="Nebraska"> Nebraska </option>

<option value="Nevada"> Nevada </option>

<option value="New Hampshire"> New Hampshire </option>

<option value="New Jersey"> New Jersey </option>

<option value="New Mexico"> New Mexico </option>

<option value="New York"> New York </option>

<option value="North Carolina"> North Carolina </option>

<option value="North Dakota"> North Dakota </option>

<option value="Ohio"> Ohio </option>

<option value="Oklahoma"> Oklahoma </option>

<option value="Oregon"> Oregon </option>

<option value="Pennsylvania"> Pennsylvania </option>

<option value="Rhode Island"> Rhode Island </option>

<option value="South Carolina"> South Carolina </option>

<option value="South Dakota"> South Dakota </option>

<option value="Tennessee"> Tennessee </option>

<option value="Texas"> Texas </option>

<option value="Utah"> Utah </option>

<option value="Vermont"> Vermont </option>

<option value="Virginia"> Virginia </option>

<option value="Washington"> Washington </option>

<option value="West Virginia"> West Virginia </option>

<option value="Wisconsin"> Wisconsin </option>

<option value="Wyoming"> Wyoming </option>

</select>

 

<select name="prop" onchange="document.getElementById('query').value=this.value;">

<option value="Downtown or Streetfront"> Downtown or Streetfront </option>

<option value="Freestanding Pad"> Freestanding Pad </option>

<option value="Lifestyle Center"> Lifestyle Center </option>

<option value="Mall or Food Court"> Mall or Food Court </option>

<option value="Nontraditional Units"> Nontraditional Units </option>

<option value="Power Center"> Power Center </option>

<option value="Shopping Center"> Shopping Center </option>

<option value="Entertainment Center"> Entertainment Center </option>

<option value="Manufacturer Outlet Center"> Manafacturer Outlet Center </option>

<option value="Regional Mall"> Regional Mall </option>

</select>

 

<input type="submit" name="submit" value="search">

</form>

</div>

<td>

<input type="submit" value="<?php print $sph_messages['Search']?>">

</td></tr></table>

 

 

<?php  if ($adv==1 || $advanced_search==1) {

?>

<table width = "100%">

<tr>

<td width="40%"><input type="radio" name="type" value="and" <?php print $type=='and'?'checked':''?>><?php print $sph_messages['andSearch']?></td>

<td><input type="radio" name="type" value="or" <?php print $_REQUEST['type']=='or'?'checked':''?>><?php print $sph_messages['orSearch']?></td></tr>

<tr>

<td><input type="radio" name="type" value="phrase" <?php print $_REQUEST['type']=='phrase'?'checked':''?>><?php print $sph_messages['phraseSearch']?></td>

<td><?php print $sph_messages['show']?>

<select name='results'>

      <option <?php  if ($results_per_page==10) echo "selected";?>>10</option>

  <option <?php  if ($results_per_page==20) echo "selected";?>>20</option>

      <option <?php  if ($results_per_page==50) echo "selected";?>>50</option>

      <option <?php  if ($results_per_page==100) echo "selected";?>>100</option>

</select>

 

  <?php print $sph_messages['resultsPerPage']?> 

  </td>

</tr>

</table>

<?php }?>

 

 

 

<?php if ($catid<>0){?>   

<center><b><?php print $sph_messages['Search']?></b>: <input type="radio" name="category" value="<?php print $catid?>"><?php print $sph_messages['Only in category']?> "<?php print $tpl_['category'][0]['category']?>'" <input type="radio" name="category" value="-1" checked><?php print $sph_messages['All sites']?></center>

<?php  }?>

<input type="hidden" name="search" value="1">

</form>

<?php if ($has_categories && $search==1 && $show_categories){?>

<a href="search.php"><?php print $sph_messages['Categories']?></a>

<?php  }?>  

</td>

 

</tr>

</table>

</center>

 

 

Now i get two search text boxes and two submit search buttons. (View Attachment)

 

How do i get rid of the new text box.

Allow both drop downs to be placed in search.

Add ,SPACE (, ) to separate the inputs from drop downs.

 

I believe this would finalize my questions...

post-133436-13482403464741_thumb.png

Link to comment
https://forums.phpfreaks.com/topic/261545-search-submission/#findComment-1340198
Share on other sites

Okay another run, I sould really try to solve for x first before post.

I fixed the extra text box and extra submit button problem

 

Here is my code

 

<center>

<table cellpadding="5" cellspacing="1" class="searchBox">

<tr>

<td align="center">

 

<form action="search.php" method="get">

 

<table><tr><td>

<div align="left">

<input type="text" name="query" id="query" size="40" value="<?php  print quote_replace($query);?>" action="include/js_suggest/suggest.php" columns="2" autocomplete="off" delay="1500">

<form action="" method ="post">

  <p>

    <select name="state" onchange="document.getElementById('query').value=this.value;">

      <option value="Nation Wide"> Nation Wide </option>

      <option value="Nation Wide ex AK/HI"> Nation Wide ex AK & HI </option>

      <option value="Alabama"> Alabama </option>

      <option value="Alaska"> Alaska </option>

      <option value="Arizona"> Arizona </option>

      <option value="Arkansas"> Arkansas </option>

      <option value="California"> California </option>

      <option value="Colorado"> Colorado </option>

      <option value="Connecticut"> Connecticut </option>

      <option value="Deleware"> Deleware </option>

      <option value="Florida"> Florida </option>

      <option value="Georgia"> Georgia </option>

      <option value="Hawaii"> Hawaii </option>

      <option value="Idaho"> Idaho </option>

      <option value="Illinois"> Illinois </option>

      <option value="Indiana"> Indiana </option>

      <option value="Iowa"> Iowa </option>

      <option value="Kansas"> Kansas </option>

      <option value="Kentucky"> Kentucky </option>

      <option value="Louisiana"> Louisiana </option>

      <option value="Maine"> Maine </option>

      <option value="Maryland"> Maryland </option>

      <option value="Massachusetts"> Massachusetts </option>

      <option value="Michigan"> Michigan </option>

      <option value="Minnesota"> Minnesota </option>

      <option value="Mississippi"> Mississippi </option>

      <option value="Missouri"> Missouri </option>

      <option value="Montana"> Montana </option>

      <option value="Nebraska"> Nebraska </option>

      <option value="Nevada"> Nevada </option>

      <option value="New Hampshire"> New Hampshire </option>

      <option value="New Jersey"> New Jersey </option>

      <option value="New Mexico"> New Mexico </option>

      <option value="New York"> New York </option>

      <option value="North Carolina"> North Carolina </option>

      <option value="North Dakota"> North Dakota </option>

      <option value="Ohio"> Ohio </option>

      <option value="Oklahoma"> Oklahoma </option>

      <option value="Oregon"> Oregon </option>

      <option value="Pennsylvania"> Pennsylvania </option>

      <option value="Rhode Island"> Rhode Island </option>

      <option value="South Carolina"> South Carolina </option>

      <option value="South Dakota"> South Dakota </option>

      <option value="Tennessee"> Tennessee </option>

      <option value="Texas"> Texas </option>

      <option value="Utah"> Utah </option>

      <option value="Vermont"> Vermont </option>

      <option value="Virginia"> Virginia </option>

      <option value="Washington"> Washington </option>

      <option value="West Virginia"> West Virginia </option>

      <option value="Wisconsin"> Wisconsin </option>

      <option value="Wyoming"> Wyoming </option>

    </select>

   

    <select name="prop" onchange="document.getElementById('query').value=this.value;">

      <option value="Downtown or Streetfront"> Downtown or Streetfront </option>

      <option value="Freestanding Pad"> Freestanding Pad </option>

      <option value="Lifestyle Center"> Lifestyle Center </option>

      <option value="Mall or Food Court"> Mall or Food Court </option>

      <option value="Nontraditional Units"> Nontraditional Units </option>

      <option value="Power Center"> Power Center </option>

      <option value="Shopping Center"> Shopping Center </option>

      <option value="Entertainment Center"> Entertainment Center </option>

      <option value="Manufacturer Outlet Center"> Manafacturer Outlet Center </option>

      <option value="Regional Mall"> Regional Mall </option>

    </select>

   

  <input type="submit" name="submit" value="search">

  </p>

</form>

</div>

<td> </td></tr></table>

 

 

<?php  if ($adv==1 || $advanced_search==1) {

?>

<table width = "100%">

<tr>

<td width="40%"><input type="radio" name="type" value="and" <?php print $type=='and'?'checked':''?>><?php print $sph_messages['andSearch']?></td>

<td><input type="radio" name="type" value="or" <?php print $_REQUEST['type']=='or'?'checked':''?>><?php print $sph_messages['orSearch']?></td></tr>

<tr>

<td><input type="radio" name="type" value="phrase" <?php print $_REQUEST['type']=='phrase'?'checked':''?>><?php print $sph_messages['phraseSearch']?></td>

<td><?php print $sph_messages['show']?>

<select name='results'>

      <option <?php  if ($results_per_page==10) echo "selected";?>>10</option>

  <option <?php  if ($results_per_page==20) echo "selected";?>>20</option>

      <option <?php  if ($results_per_page==50) echo "selected";?>>50</option>

      <option <?php  if ($results_per_page==100) echo "selected";?>>100</option>

</select>

 

  <?php print $sph_messages['resultsPerPage']?> 

  </td>

</tr>

</table>

<?php }?>

 

 

 

<?php if ($catid<>0){?>   

<center><b><?php print $sph_messages['Search']?></b>: <input type="radio" name="category" value="<?php print $catid?>"><?php print $sph_messages['Only in category']?> "<?php print $tpl_['category'][0]['category']?>'" <input type="radio" name="category" value="-1" checked><?php print $sph_messages['All sites']?></center>

<?php  }?>

<input type="hidden" name="search" value="1">

</form>

<?php if ($has_categories && $search==1 && $show_categories){?>

<a href="search.php"><?php print $sph_messages['Categories']?></a>

<?php  }?>  

</td>

 

</tr>

</table>

</center>

 

View attachment to see view.

 

 

i am still unable to apply both drop downs to the search and seperate by (, ) ,SPACE

 

how would i go about this?

post-133436-13482403464861_thumb.png

Link to comment
https://forums.phpfreaks.com/topic/261545-search-submission/#findComment-1340200
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.