You're wanting to create a form to retrieve that data from the database, right? Well, you would use SQL statements to retrieve it. So this form would pass in your search words. That means using the LIKE clause:
SELECT CompanyID, CompanyName
FROM Companies
WHERE CompanyName LIKE '%$company%';
or
SELECT CompanyID, CompanyName
FROM Companies
WHERE CompanyName = '$company';
If the result set is zero in both cases, the Company was not found. Then, given the company that's being passed in from the form, you can search for your other relevant data, provided company is found with the following SQL statements:
SELECT Companies.CompanyID, Positions.CompanyID, Position
FROM Companies, Positions
WHERE Companies.CompanyID = Positions.CompanyID
AND Companies.CompanyID = $companyID;
SELECT Companies.CompanyID, Countries.CompanyID, Country
FROM Companies, Countries
WHERE Companies.CompanyID = Countries.CompanyID
AND Companies.CompanyID = $companyID;
Since we have our SQL down, we can create the form, and the code that processes the form.
form.php
<html>
<head>
<title>Search Form</title>
</head>
<body>
<form method="post" action="search.php" >
Company Name: <input type="text" size="50" name="txtCompany" /><br />
<input type="submit" value="Search" name="btnSubmit" />
</form>
</body>
</html>
search.php
if (isset($_GET['companyID']) && $_GET['companyID'] != NULL &&
isset($_GET['companyName']) && $_GET['companyName'] != NULL)
{
$companyID = (int)$_GET['companyID'];
$companyName = (string)$_GET['companyName'];
$query1 = "SELECT Companies.CompanyID, Positions.CompanyID, Position
FROM Companies, Positions
WHERE Companies.CompanyID = Positions.CompanyID
AND Companies.CompanyID = $companyID";
$query2 = "SELECT Companies.CompanyID, Countries.CompanyID, Country
FROM Companies, Countries
WHERE Companies.CompanyID = Countries.CompanyID
AND Companies.CompanyID = $companyID";
$result1 = mysql_query($query1, $connection);
$result2 = mysql_query($query2, $connection);
$row1 = mysql_fetch_array($result1);
$row2 = mysql_fetch_array($result2);
$position = $row1['Position'];
$country = $row2['Country'];
$numFetched1 = count($row1);
$numFetched2 = count($row2);
if ($numFetched < 0 && $numFetched2 < 0)
{
$output = "$companyName has $position and is based in $country";
echo $output;
}
}
if (isset($_POST['btnSubmit']) && $_POST['btnSubmit'] == 'Search')
{
$company = $_POST['txtCompany'];
$query = "SELECT CompanyID, CompanyName
FROM Companies
WHERE CompanyName LIKE '%" . $company " . %'";
$result = mysql_query($result, $connection);
$row = mysql_fetch_array($result);
$numFetched = count($row);
if ($numFetched < 0)
{
reset($row);
while (list($key, $val) = each($row))
{
echo "<a href=\"search.php?companyID=$key&companyName=$val\">$val</a><br />\n";
}
echo "$numFetched Companies Found";
}
}
If you want to display the form after the result is shown, add the line
echo $output;
include ("form.php");
to search.php;
Something like that might work, but your dump threw a load of errors, so I can't really test it that well.