Jump to content

[SOLVED] Displaying URL's as link when drawing them from the database...


joshgarrod

Recommended Posts

Hello everyone, I have a script which searches a table of stock and brings back results dependant upon the search term that was used. I have put a URL of a page that explains further about the stock item, however I cannot get it to display as a link. Can somebody take a look please?

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Search for spares</title>
<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<h2 class="style1">Search</h2> 
<form action="<?=$PHP_SELF?>" method="post" name="search" class="style1">
Seach for: <input type="text" name="find" /> in 
<Select NAME="field">
<Option VALUE="Make" selected="selected">Make</option>
<Option VALUE="Model">Model</option>
<Option VALUE="Engine">Engine</option>
<Option VALUE="Berth">Berth</option>
<Option VALUE="Year">Year</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
<p class="style1">
  <?php
  $find = $_POST['find'];
//This is only displayed if they have submitted the form 
if ($searching =="yes") 
{ 
echo "<h2>Results</h2><hr>"; 

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

// Otherwise we connect to our Database 
mysql_connect("localhost", "sto21", "ixhp388") or die(mysql_error()); 
mysql_select_db("sto21") 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 
$find_array = explode(" ", $find);
$find_sql = "";     // init
foreach ($find_array as $temp)
   $find_sql .= "upper($field) LIKE '%".$temp."%' OR";
// note only need to do the substr once, the second time was removing the other %'
$find_sql = substr($find_sql, 0, -3);  // throw away last OR statement 

$sql = "SELECT * FROM motorhomes WHERE $find_sql";
$data = mysql_query($sql) OR DIE("SQL Was: " . $sql . "<br />ERROR: " . mysql_error());

  $sql = mysql_query("SELECT * FROM motorhomes");
  $num = mysql_num_rows($sql);
  if ($num > 0) {
      // There's a result
  } else {
      // No results found.
  }//And we display the results 
while($result = mysql_fetch_array( $data )) 
{ 
echo "<b>Motorhome ID:   </b>";
echo $result['MhID']; 
echo "<br>"; 
echo "<b>Make:   </b>";
echo $result['Make']; 
echo "<br>"; 
echo "<b>Model:   </b>";
echo $result['Model']; 
echo "<br>";
echo "<b>URL - Click here to view more details:    </b>";//this line and the line below is where I am trying to display the URL, the URL is very long I would just like the link text to say "more details" if possible.
echo "<a href=\"$results[url]\">URL</a>";
echo "<br>"; 
echo "<hr>";
} 

//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; 
} 
?>
</p>
</body>
</html> 


Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.