All pastes #206870 Raw Edit

casey

public text v1 · immutable
#206870 ·published 2006-10-17 16:53 UTC
rendered paste body
<?php

import_request_variables('gPc');

if(!@include('dbconn.inc.php'))
{
	die();
}

else
{
	//SET TABLES TO BE SEARCHED
	$tables = array(0 => "ABSURD_NEWS", 1=> "ABSURD_ANNCOUNCE");
	//SET FEILDS TO BE USED
	$feilds = array(0 => "ID", 1=> "KEYWORDS", 2=> "BODY");
	
	if(isset($_GET['search_query']) && $_GET['search_query'] != NUll)
	{
		$search_query     = prepare_query($search_query);
		$search_results_k = search_keywords($tables,$search_query,$feilds);
		$search_results_b = search_body($tables,$search_query,$feilds);
		
		 if($search_results_k != NULL) 
		 { 
		 	$formatted_results_k = format_results_k($search_results_k,$search_query,$feilds); 
		 }//MATCH IN KEYWORDS
		 else
		 {
		 	echo('unable to find matchs in keywords <br />');
		 }
		 
		 if($search_results_b != NULL) 
		 { 
		 	$formatted_results_b = format_results_b($search_results_b,$search_query,$feilds); 
		 }//MATCH IN BODY
		 else
		 {
		 	echo('unable to find matchs in text body <br />');
		 }
		 
		 prepare_display($formatted_results_k,$formatted_results_b);
		 
	}
	else
	{
		echo('you must search for something <br />');
		die();
	}
}

//USER DEFINED FUNCTINOS
function prepare_query($search_query)
{
	$search_query = trim($search_query);
	$search_query = explode(' ',$search_query);
	//var_dump($search_query);
	
	return $search_query;
}

function search_keywords($tables,$search_query,$feilds)
{
	$j=0;
	foreach($tables as $table_key => $table_element)
	{
		foreach($search_query as $search_key => $search_element)
		{
			$query = "SELECT * FROM $table_element WHERE $feilds[1] LIKE \"%$search_element%\";";
			if(@mysql_num_rows(@mysql_query($query)))
			{
				$result_k[$j] = $query;
			}
			$j++;
		}
	}
	//var_dump($result_k);
	return $result_k;
}

function search_body($tables,$search_query,$feilds)
{
	$j=0;
	foreach($tables as $table_key => $table_element)
	{			
		foreach($search_query as $search_key => $search_element)
		{
			$query = "SELECT * FROM $table_element WHERE $feilds[2] LIKE \"%$search_element%\";";
			if(@mysql_num_rows(@mysql_query($query)))
			{
				$result_b[$j] = $query;
			}
			$j++;
		}
	}
	//var_dump($result_b);
	return $result_b;
}

function format_results_k($search_results_k,$search_query,$feilds)
{
	$j = 0;
	foreach($search_results_k as $keywords_key => $keywords_element)
	{	
		$query  = $keywords_element;
		$result = mysql_query($query);
		$num    = mysql_num_rows($result);
					
		for($i=0;$i<$num;$i++)
		{	
			//GET TABLE NAME -- VERY IMPORTANT
			$table_name = explode(" ",$query);
			$table_name = $table_name[3];
			//GET TERM NAME -- VERY IMPORTANT
			$search_term = explode("%",$query);
			$search_term = $search_term[1];
								
			$ID       = mysql_result($result,$i,$feilds[0]);//$feilds[0] = ID
			$KEYWORDS = mysql_result($result,$i,$feilds[1]);//$feilds[1] = KEYWORDS
			$KEYWORDS = explode(' ',$KEYWORDS);
			//var_dump($KEYWORDS);
				
			$count = 0;
			foreach($search_query as $search_key => $search_element)
			{				
				foreach($KEYWORDS as $KEYWORDS_key => $KEYWORDS_element)
				{
					if(strtolower($KEYWORDS_element) == strtolower($search_element))
					{
						$count++;
					}
				}
					
				$formatted_results_k[$j] = $table_name . '-' . $ID . '-' . $search_term . '-' . $count;	
			}
			$j++;										
		}
	}

	//var_dump($formatted_results_k);
	return $formatted_results_k;
}

function format_results_b($search_results_b,$search_query,$feilds)
{
	$j = 0;
	foreach($search_results_b as $body_key => $body_elements)
	{
		$query  = $body_elements;
		$result = mysql_query($query);
		$num    = mysql_num_rows($result);
		
		for($i=0;$i<$num;$i++)
		{
			$table_name = explode(" ",$query);
			$table_name = $table_name[3];
			
			$search_term = explode("%",$query);
			$search_term = $search_term[1];
			
			$ID   = mysql_result($result,$i,$feilds[0]);
			$BODY = mysql_result($result,$i,$feilds[2]);
			$BODY = explode(' ',$KEYWORDS);
			//var_dump($BODY);
			
			$count = 0;
			foreach($search_query as $search_key => $search_element)
			{
				foreach($BODY as $BODY_key => $BODY_elements)
				{
					if(strtolower($BODY_element) == strtolower($search_element))
					{
						$count++;
					}
				}
				$formatted_results_b[$j] = $table_name . '-' . $ID . '-' . $search_term . '-' . $count;
			}
		}	$j++;
	}
	
	//var_dump($formattd_results_b);
	return $formatted_results_b;
}

function prepare_display($formatted_results_k, $formatted_results_b)
{
	foreach($formatted_results_k as $f_r_k_key => $f_r_k_elements)
	{
		$rank_findings = explode('-',$f_r_k_elements);
		
		for($i=0;$i<count($rank_findings);$i++)
		{	if(($i+1)%(4) == 0)
			{
				$j++;
			}
				
			$data_container[$j][$i] = $rank_findings[$i]; 	
		}
	}
	//var_dump($data_container);	
}

?>