Jump to content


Photo

Adding Hyperlinks To Search Results


  • Please log in to reply
2 replies to this topic

#1 john-formby

john-formby
  • Members
  • PipPipPip
  • Advanced Member
  • 91 posts
  • LocationMahe, Seychelles

Posted 29 June 2006 - 03:39 PM

Hi,

I have a search on my website which returns results based on the keywords row in my database. The problem is that the results are not clickable. The results returned are links to other websites and need to have hyperlinks attached to link_text and url. There is also a new_window row in the database which is used to determine whether a link will be opened in the current or a new window; 0 = current, 1 = new. I am not sure how to implement any of these things so I would appreciate any advice.


Here is the database table:

CREATE TABLE `links` (
  `link_id` int(11) NOT NULL auto_increment,
  `category_code` varchar(10) NOT NULL default '0',
  `link_text` varchar(254) NOT NULL default '',
  `url` varchar(254) NOT NULL default '',
  `description` text NOT NULL,
  `keywords` text NOT NULL,
  `time_added` timestamp(14) NOT NULL,
  `new_window` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`link_id`)
) TYPE=MyISAM AUTO_INCREMENT=234;



Here is the search results processing and display:

<? 
//This is only displayed if they have submitted the form 
if ($searching =="yes") 
{ 

//If they did not enter a search term we give them an error 
if ($find == "") 
{ 
echo "<p>You forgot to enter a search term"; 
exit; 
} 

// Otherwise we connect to our Database 
mysql_connect("localhost", "linkadmin", "jup1terCl41re") or die(mysql_error()); 
mysql_select_db("pagelinks") or die(mysql_error()); 

// We preform a bit of filtering 
$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 

//Now we search for our search term, in the field the user specified 
$data = mysql_query("SELECT * FROM links WHERE keywords LIKE '%$find%'"); 

//And we display the results 
while($result = mysql_fetch_array( $data )) 
{ 
echo "<hr /><br />";
echo $result['link_text']; 
echo "<br />"; 
echo $result['description']; 
echo "<br />"; 
echo $result['url']; 
echo "<br /><br />";  
} 

echo "<hr /><br />";

//This counts the number or results - and if there wasn't any it gives them a little message explaining that 
$anymatches=mysql_num_rows($data); 
if ($anymatches == 0) 
{ 
echo "Sorry, but we can not find an entry to match your query<br><br>"; 
} 

//And we remind them what they searched for 
echo "<b>Searched For:</b> " .$find; 
} 
?>


Thanks,

John
"I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image." ~ Stephen Hawking

#2 thepip3r

thepip3r
  • Members
  • PipPipPip
  • Advanced Member
  • 289 posts

Posted 29 June 2006 - 03:49 PM

echo "<a href=\"".$result['url']."\">".$result['url']."</a>"; 
echo "<br /><br />";  
}


#3 john-formby

john-formby
  • Members
  • PipPipPip
  • Advanced Member
  • 91 posts
  • LocationMahe, Seychelles

Posted 29 June 2006 - 03:52 PM

Thanks, your a legend

Any idea how I can make them open in a new window based on the new_window row? 0 = open in current window,  1 = open in new window.

Thanks
"I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image." ~ Stephen Hawking




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users