Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Searching Specific Fields (and)

Status
Not open for further replies.

t5amec

Programmer
Aug 14, 2003
112
GB
I know this is in no way the correct coding, but it gets my point across.

I am building a data base for bands to post their gigs so if someone feels like they wanna go see a gig they can just search for one in their home town, county etc.

They can search by:
Date
Venue
Band Name
Style
Country
County

No field would be "required" but of course the more fields you fill in, the better.

Code:
display all results of exact match to $gigDay,$gigMonth,$gigYear from gigFinder. if $gigDay,$gigMonth,$gigYear="" move on.
(and)
display all results of $gigVenue from gigFinder. if $gigVenue="" move on;
(and)
display all results of $gigBandName from gigFinder. if $gigBandName="" move on;
(and)
display all results of $gigPlay from gigFinder. if $gigPlay="" move on.
(and)
display all results of $gigCountry from gigFinder. if $gigCountry="" move on.
(and)
display all results of $gigCounty from gigFinder. if $gigCounty="" move on.

if all fields="" display all records
There must be a way of searching like this as it is used in this very forum, and many other websites, but I can't find the coding anywhere.

Please help....!!!

Make Sense? I hope so (-:
 
in the line inside the while statement starting
Code:
$optionstr .=
there is the semicolon missing.
sorry.
 
i picked that up and edited it.
(yay, i'm learning)
but now its coming up with Parse Error on line 353
thats the end.. </HTML> line...

Code:
<?
function getoptions()
{
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM gigFinder ORDER BY gigStart ASC";
$result=mysql_query($query);
$optionstr = "";
while($row=mysql_fetch_assoc($result))
{
  extract ($row);
  $optionstr .= "<option value='$rslt'>$rslt</option>\r\n";
}
return $optionstr;
} //end of function


$num=mysql_numrows($result);

mysql_close();

echo "";

?>
<?
$i=0;
while ($i < $num) {
$gigDay=mysql_result($result,$i,"gigDay");
$gigMonth=mysql_result($result,$i,"gigMonth");
$gigYear=mysql_result($result,$i,"gigYear");
$gigBandName=mysql_result($result,$i,"gigBandName");
$gigVenue=mysql_result($result,$i,"gigVenue");
$gigCountry=mysql_result($result,$i,"gigCountry");
$gigCounty=mysql_result($result,$i,"gigCounty");
$gigTown=mysql_result($result,$i,"gigTown");
$gigPlay=mysql_result($result,$i,"gigPlay");
$gigAdmission=mysql_result($result,$i,"gigAdmission");
$gigStart=mysql_result($result,$i,"gigStart");
$gigRestriction=mysql_result($result,$i,"gigRestriction");
$gigComment=mysql_result($result,$i,"gigComment");
$gigContactEmail=mysql_result($result,$i,"gigContactEmail");
$gigContactWeb=mysql_result($result,$i,"gigContactWeb");
$gigId=mysql_result($result,$i,"gigId");
?>

<HTML>
        <HEAD>
                <TITLE>gigBeHeard :: add gig ::
                </TITLE>
        </HEAD>
        <BODY>
<form method="post" action="searchGig.php">
<br>Band Name: <select name="gigBandName">
<option></option>
<? = getoptions('gigBandName') ?>
</select>
<br>Band Play: <input type="text" name="gigPlay">
<br>Gig Date (dd:mm:yyyy):
<select name="gigDay">
<option></option>
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
<select>
:<select name="gigMonth">
<option></option>
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option></select>
:<select name="gigYear">
<option></option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option></select>
<br>Gig Venue: <input type="text" name="gigVenue">
<br>County: <input type="text" name="gigCounty">
<br>Country: <select name="gigCountry">
<option></option>
                        <option value="UK">United Kingdom
                        <option value="US">United States
                        <option value="CA">Canada
                        <option value="AF">Afganistan
                        <option value="AL">Albania
                        <option value="DZ">Algeria
                        <option value="AD">Andorra
                        <option value="AO">Angola
                        <option value="AI">Anguilla
                        <option value="AQ">Antarctica
                        <option value="AG">Antigua
                        <option value="AR">Argentina
                        <option value="AM">Armenia
                        <option value="AW">Aruba
                        <option value="AU">Australia
                        <option value="AT">Austria
                        <option value="AZ">Azerbaijan
                        <option value="BS">Bahamas
                        <option value="BH">Bahrain
                        <option value="BB">Barbados
                        <option value="BD">Bangladesh
                        <option value="BY">Belarous
                        <option value="BE">Belgium
                        <option value="BZ">Belize
                        <option value="BJ">Benin
                        <option value="BM">Bermuda
                        <option value="BT">Bhutan
                        <option value="BW">Botswana
                        <option value="BO">Bolivia
                        <option value="BA">Bosnia
                        <option value="BV">Bouvet Island
                        <option value="BR">Brazil
                        <option value="BN">Brunei Darussalam
                        <option value="BG">Bulgaria
                        <option value="BF">Burkina Faso
                        <option value="BI">Burundi
                        <option value="KH">Cambodia
                        <option value="CM">Cameroon
                        <option value="CV">Cape Verde
                        <option value="KY">Cayman Islands
                        <option value="CY">Central Aferican Republic
                        <option value="TD">Chad
                        <option value="CL">Chile
                        <option value="CN">China
                        <option value="CX">Christmas Island
                        <option value="CC">Cocos Islands
                        <option value="CO">Columbia
                        <option value="KM">Comoros
                        <option value="CG">Congo
                        <option value="CD">Congo, Democratic Republic
                        <option value="CK">Cook Islands
                        <option value="CR">Costa Rica
                        <option value="CI">Ivory Coast
                        <option value="HR">Croatia
                        <option value="CU">Cuba
                        <option value="CY">Cyprus
                        <option value="CZ">Czech Republic
                        <option value="DK">Denmark
                        <option value="DJ">Djibouti
                        <option value="DM">Dominica
                        <option value="DO">Dominican Republic
                        <option value="TP">East Timor
                        <option value="EC">Ecuador
                        <option value="EG">Egypt
                        <option value="SV">El Salvador
                        <option value="GQ">Equilateral Guinea
                        <option value="ER">Eritrea
                        <option value="EE">Estonia
                        <option value="ET">Ethiopia
                        <option value="FK">Falkland Islands
                        <option value="FO">Faroe Islands
                        <option value="FJ">Fiji
                        <option value="FI">Finland
                        <option value="FR">France
                        <option value="GF">French Guiana
                        <option value="PF">French Polynesia
                        <option value="MK">Macedonia
                        <option value="GA">Gabon
                        <option value="GM">Gambia
                        <option value="GE">Georgia
                        <option value="DE">Germany
                        <option value="GH">Ghana
                        <option value="GI">Gibralter
                        <option value="GB">Great Britain
                        <option value="GR">Greece
                        <option value="GL">Greenland
                        <option value="GD">Grenada
                        <option value="GP">Guadeloupe
                        <option value="GU">Guam
                        <option value="GT">Guatemala
                        <option value="GN">Guinea
                        <option value="GW">Guinea-Bissau
                        <option value="GY">Guyana
                        <option value="HT">Haiti
                        <option value="HN">Honduras
                        <option value="HK">Hong Kong
                        <option value="HU">Hungary
                        <option value="IS">Iceland
                        <option value="IN">India
                        <option value="ID">Indonesia
                        <option value="IR">Iran
                        <option value="IQ">Iraq
                        <option value="IE">Ireland
                        <option value="IL">Israel
                        <option value="IT">Italy
                        <option value="JM">Jamaica
                        <option value="JP">Japan
                        <option value="JO">Jordan
                        <option value="KZ">Kazakhstan
                        <option value="KE">Kenya
                        <option value="KI">Kiribati
                        <option value="KP">Korea, North
                        <option value="KR">Korea, South
                        <option value="KW">Kuwait
                        <option value="LA">Laos
                        <option value="LV">Lativa
                        <option value="LB">Lebanon
                        <option value="LR">Liberia
                        <option value="LY">Libya
                        <option value="LS">Lesotho
                        <option value="LT">Lithuania
                        <option value="LU">Luxembourg
                        <option value="MO">Macau
                        <option value="MG">Madagascar
                        <option value="MW">Malawi
                        <option value="MY">Malaysia
                        <option value="MV">Maidives
                        <option value="ML">Mali
                        <option value="MT">Malta
                        <option value="MH">Marshal Islands
                        <option value="MQ">Martinique
                        <option value="MR">Mauritania
                        <option value="MU">Mauritius
                        <option value="YT">Mayotte
                        <option value="MX">Mexico
                        <option value="FM">Micronesia
                        <option value="MC">Monaco
                        <option value="MD">Moldovia
                        <option value="MA">Morocco
                        <option value="MN">Mongolia
                        <option value="MS">Montserrat
                        <option value="MZ">Mozambique
                        <option value="MM">Myanmar
                        <option value="NA">Nambia
                        <option value="NR">Nauru
                        <option value="NP">Nepal
                        <option value="NL">Netherlands
                        <option value="AN">Netherlands Antillies
                        <option value="NC">New Calidonia
                        <option value="NZ">New Zealand
                        <option value="NI">Nicaragua
                        <option value="NE">Niger
                        <option value="NG">Nigeria
                        <option value="NU">Niue
                        <option value="NF">Norfold Island
                        <option value="MP">Northern Mariana Islands
                        <option value="NO">Norway
                        <option value="OM">Oman
                        <option value="PK">Pakistan
                        <option value="PW">Palau
                        <option value="PA">Panama
                        <option value="PG">Papau New Guinea
                        <option value="PY">Paraguay
                        <option value="PE">Peru
                        <option value="PH">Phillipines
                        <option value="PN">Pitcairn
                        <option value="PL">Poland
                        <option value="PT">Portugal
                        <option value="PR">Puerto Rico
                        <option value="QA">Qatar
                        <option value="RE">Reunion
                        <option value="RO">Romania
                        <option value="RU">Russian Federation
                        <option value="RW">Rwanda
                        <option value="GS">Sandwich Islands
                        <option value="KN">Saint Kitts
                        <option value="LC">Saint Lucia
                        <option value="VC">Saint Vincent
                        <option value="WS">Samoa
                        <option value="SM">San Marino
                        <option value="ST">Sao Tome
                        <option value="SA">Saudi Arabia
                        <option value="SN">Senegal
                        <option value="SC">Seychelles
                        <option value="SL">Sierra Leone
                        <option value="SG">Singapore
                        <option value="SI">Slovenia
                        <option value="SK">Slovak Republic
                        <option value="SB">Soloman Islands
                        <option value="SO">Somalia
                        <option value="ZA">South Africa
                        <option value="ES">Spain
                        <option value="LK">Sri Lanka
                        <option value="SH">St, Helena
                        <option value="SD">Sudan
                        <option value="SR">Suriname
                        <option value="SJ">Svalbard
                        <option value="SZ">Swaziland
                        <option value="SE">Sweden
                        <option value="CH">Switzerland
                        <option value="SY">Syria
                        <option value="TW">Taiwan
                        <option value="TJ">Tajikistan
                        <option value="TZ">Tanzania
                        <option value="TH">Thailand
                        <option value="TG">Togo
                        <option value="TK">Tokelau
                        <option value="TO">Tonga
                        <option value="TT">Trinidad
                        <option value="TN">Tunisia
                        <option value="TR">Turkey
                        <option value="TM">Turkmenistan
                        <option value="TC">Caicos Islands
                        <option value="TV">Tuvalu
                        <option value="UG">Uganda
                        <option value="UA">Ukraine
                        <option value="AE">United Arab Emirates
                        <option value="UM">US Minor Outlying Islands
                        <option value="UY">Uruguay
                        <option value="UZ">Uzbekistan
                        <option value="VU">Vanuatu
                        <option value="VA">Vatican City State
                        <option value="VE">Venezuela
                        <option value="VN">Viet Nam
                        <option value="VG">Virgin Islands (British)
                        <option value="VI">Virgin Islands (US)
                        <option value="WF">Wallis and Fortuna Islands
                        <option value="EH">West Sahara
                        <option value="YE">Yemen
                        <option value="YU">Yugoslavia
                        <option value="ZM">Zambia
                        <option value="ZW">Zimbabwe
</select>
<input type="submit" value="Search" name="Submit">
</form>
</BODY>
</HTML>


Make Sense? I hope so (-:
 
there are some html errors in your code.

e.g. not closing a select tag
also the getoptions("gigBandName") must be tight to the php tags so must be
Code:
<?=getoptionstring("gigBandName")?>
no spaces permitted.

but the cause of the current error is that you have not ended the if loop. after the /html tag insert
Code:
<?
}
?>
 
the errors i found are:

line 93 - close the select tag
lines 118 - 349: close the option tag
line56 - tighten the php tags to the content as posted above
line 355 - as above, close the if loop
 
right ho... ive had a look at the search4gigphpcode

there seems to be a bit of confusion... the getoptions code needs to be on the page with the html form. you also need to put the getoptions code back to the way i posted it - ie with a variable going in and a constructed sql statement.

the way you have it at the moment, it won't ever work as there is no field innately or actively being called as rslt.

i'd also say that your if statement is currently building the whole of the form multiple times. in fact, the code from the form builder page and the form processor page seem to have got really mixed up.

I will be up for another 15 mins or so (long day). if you post the code for both pages i will have a quick look at fixing them.
 
The code has been updated, but is still getting the same result...

How is it that something so simple to achieve is so hard to actually code?

Make Sense? I hope so (-:
 
can you post the code or upload it to a server as you have previously done? difficult to help trace an error without the code...

honestly - this is not difficult to code. but the more variables you use and the more loop structures that are included, the more difficult it is to *debug*.
 
MY APOLOGIES TO ALL READING THIS POST. THE FULL SOLUTION SOURCE IS POSTED HERE FOR EASE OF REFERENCE.

To: t5amec

you will find the corrected source code for both pages in the code segments below. please cut and paste them precisely (don't include anything else and don't change anything until you have tested these versions - if these work and your changed versions don't: go back to basic debugging of the changes).

Two things to note:
1. the search page needs to be called searchGig.php or you will need to change the action reference in the form tag.

2. Note also that the page with the form on it must be a php page with a php extension.

Code for the page with the form on it
Code:
////////////this is the page that shows the form to be completed
//////////// remember that it must be saved with a PHP extension!
//////////// page continues until line of forward slashes

function getoptions($field)
{
	include("dbinfo.inc.php");
	mysql_connect(localhost,$username,$password);
	@mysql_select_db($database) or die( "Unable to select database");
	$query="SELECT $field as rslt FROM gigFinder";
	$result=mysql_query($query);
	$optionstr = "";
	while($row=mysql_fetch_assoc($result))
	{
  		extract ($row);
  		$optionstr .= "<option value='$rslt'>$rslt</option>\r\n";
	}
	return $optionstr;
} //end of function

?>
<HTML>
        <HEAD>
                <TITLE>gigBeHeard :: add gig ::
                </TITLE>
        </HEAD>
        <BODY>
<form method="post" action="searchGig.php">
<br>Band Name: <select name="gigBandName">
<?=getoptions('gigBandName')?>
</select>
<br>Band Play: <input type="text" name="gigPlay">
<br>Gig Date (dd:mm:yyyy):
<select name="gigDay">
<option></option>
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
<select>
:<select name="gigMonth">
<option></option>
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
:<select name="gigYear">
<option></option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
</select>
<br>Gig Venue: <input type="text" name="gigVenue">
<br>County: <input type="text" name="gigCounty">
<br>Country: <select name="gigCountry">
	<option></option>
	<option value="UK">United Kingdom</option>
	<option value="US">United States</option>
	<option value="CA">Canada</option>
	<option value="AF">Afghanistan</option>
	<option value="AL">Albania</option>
	<option value="DZ">Algeria</option>
	<option value="AD">Andorra</option>
	<option value="AO">Angola</option>
	<option value="AI">Anguilla</option>
	<option value="AQ">Antarctica</option>
	<option value="AG">Antigua</option>
	<option value="AR">Argentina</option>
	<option value="AM">Armenia</option>
	<option value="AW">Aruba</option>
	<option value="AU">Australia</option>
	<option value="AT">Austria</option>
	<option value="AZ">Azerbaijan</option>
	<option value="BS">Bahamas</option>
	<option value="BH">Bahrain</option>
	<option value="BB">Barbados</option>
	<option value="BD">Bangladesh</option>
	<option value="BY">Belarus</option>
	<option value="BE">Belgium</option>
	<option value="BZ">Belize</option>
	<option value="BJ">Benin</option>
	<option value="BM">Bermuda</option>
	<option value="BT">Bhutan</option>
	<option value="BW">Botswana</option>
	<option value="BO">Bolivia</option>
	<option value="BA">Bosnia</option>
	<option value="BV">Bouvet Island</option>
	<option value="BR">Brazil</option>
	<option value="BN">Brunei Darussalam</option>
	<option value="BG">Bulgaria</option>
	<option value="BF">Burkina Faso</option>
	<option value="BI">Burundi</option>
	<option value="KH">Cambodia</option>
	<option value="CM">Cameroon</option>
	<option value="CV">Cape Verde</option>
	<option value="KY">Cayman Islands</option>
	<option value="CY">Central African Republic</option>
	<option value="TD">Chad</option>
	<option value="CL">Chile</option>
	<option value="CN">China</option>
	<option value="CX">Christmas Island</option>
	<option value="CC">Cocos Islands</option>
	<option value="CO">Columbia</option>
	<option value="KM">Comoros</option>
	<option value="CG">Congo</option>
	<option value="CD">Congo, Democratic Republic</option>
	<option value="CK">Cook Islands</option>
	<option value="CR">Costa Rica</option>
	<option value="CI">Ivory Coast</option>
	<option value="HR">Croatia</option>
	<option value="CU">Cuba</option>
	<option value="CY">Cyprus</option>
	<option value="CZ">Czech Republic</option>
	<option value="DK">Denmark</option>
	<option value="DJ">Djibouti</option>
	<option value="DM">Dominica</option>
	<option value="DO">Dominican Republic</option>
	<option value="TP">East Timor</option>
	<option value="EC">Ecuador</option>
	<option value="EG">Egypt</option>
	<option value="SV">El Salvador</option>
	<option value="GQ">Equilateral Guinea</option>
	<option value="ER">Eritrea</option>
	<option value="EE">Estonia</option>
	<option value="ET">Ethiopia</option>
	<option value="FK">Falkland Islands</option>
	<option value="FO">Faroe Islands</option>
	<option value="FJ">Fiji</option>
	<option value="FI">Finland</option>
	<option value="FR">France</option>
	<option value="GF">French Guiana</option>
	<option value="PF">French Polynesia</option>
	<option value="MK">Macedonia</option>
	<option value="GA">Gabon</option>
	<option value="GM">Gambia</option>
	<option value="GE">Georgia</option>
	<option value="DE">Germany</option>
	<option value="GH">Ghana</option>
	<option value="GI">Gibraltar</option>
	<option value="GB">Great Britain</option>
	<option value="GR">Greece</option>
	<option value="GL">Greenland</option>
	<option value="GD">Grenada</option>
	<option value="GP">Guadeloupe</option>
	<option value="GU">Guam</option>
	<option value="GT">Guatemala</option>
	<option value="GN">Guinea</option>
	<option value="GW">Guinea-Bissau</option>
	<option value="GY">Guyana</option>
	<option value="HT">Haiti</option>
	<option value="HN">Honduras</option>
	<option value="HK">Hong Kong</option>
	<option value="HU">Hungary</option>
	<option value="IS">Iceland</option>
	<option value="IN">India</option>
	<option value="ID">Indonesia</option>
	<option value="IR">Iran</option>
	<option value="IQ">Iraq</option>
	<option value="IE">Ireland</option>
	<option value="IL">Israel</option>
	<option value="IT">Italy</option>
	<option value="JM">Jamaica</option>	
	<option value="JP">Japan</option>
	<option value="JO">Jordan</option>
	<option value="KZ">Kazakhstan</option>
	<option value="KE">Kenya</option>
	<option value="KI">Kiribati</option>
	<option value="KP">Korea, North</option>
	<option value="KR">Korea, South</option>
	<option value="KW">Kuwait</option>
	<option value="LA">Laos</option>
	<option value="LV">Latvia</option>
	<option value="LB">Lebanon</option>
	<option value="LR">Liberia</option>
	<option value="LY">Libya</option>
	<option value="LS">Lesotho</option>
	<option value="LT">Lithuania</option>
	<option value="LU">Luxembourg</option>
	<option value="MO">Macau</option>
	<option value="MG">Madagascar</option>
	<option value="MW">Malawi</option>
	<option value="MY">Malaysia</option>
	<option value="MV">Maldives</option>
	<option value="ML">Mali</option>
	<option value="MT">Malta</option>
	<option value="MH">Marshal Islands</option>
	<option value="MQ">Martinique</option>
	<option value="MR">Mauritania</option>
	<option value="MU">Mauritius</option>
	<option value="YT">Mayotte</option>
	<option value="MX">Mexico</option>
	<option value="FM">Micronesia</option>
	<option value="MC">Monaco</option>
	<option value="MD">Moldavia</option>
	<option value="MA">Morocco</option>
	<option value="MN">Mongolia</option>
	<option value="MS">Montserrat</option>
	<option value="MZ">Mozambique</option>
	<option value="MM">Myanmar</option>
	<option value="NA">Nambia</option>
	<option value="NR">Nauru</option>
	<option value="NP">Nepal</option>
	<option value="NL">Netherlands</option>
	<option value="AN">Netherlands Antilles</option>
	<option value="NC">New Caledonia</option>
	<option value="NZ">New Zealand</option>
	<option value="NI">Nicaragua</option>
	<option value="NE">Niger</option>
	<option value="NG">Nigeria</option>
	<option value="NU">Niue</option>
	<option value="NF">Norfold Island</option>
	<option value="MP">Northern Mariana Islands</option>
	<option value="NO">Norway</option>
	<option value="OM">Oman</option>
	<option value="PK">Pakistan</option>
	<option value="PW">Palau</option>
	<option value="PA">Panama</option>
	<option value="PG">Papua New Guinea</option>
	<option value="PY">Paraguay</option>
	<option value="PE">Peru</option>
	<option value="PH">Philippines</option>
	<option value="PN">Pitcairn</option>
	<option value="PL">Poland</option>
	<option value="PT">Portugal</option>
	<option value="PR">Puerto Rico</option>
	<option value="QA">Qatar</option>
	<option value="RE">Reunion</option>
	<option value="RO">Romania</option>
	<option value="RU">Russian Federation</option>
	<option value="RW">Rwanda</option>
	<option value="GS">Sandwich Islands</option>
	<option value="KN">Saint Kitts</option>
	<option value="LC">Saint Lucia</option>
	<option value="VC">Saint Vincent</option>
	<option value="WS">Samoa</option>
	<option value="SM">San Marino</option>
	<option value="ST">Sao Tome</option>
	<option value="SA">Saudi Arabia</option>
	<option value="SN">Senegal</option>
	<option value="SC">Seychelles</option>
	<option value="SL">Sierra Leone</option>
	<option value="SG">Singapore</option>
	<option value="SI">Slovenia</option>
	<option value="SK">Slovak Republic</option>
	<option value="SB">Soloman Islands</option>
	<option value="SO">Somalia</option>
	<option value="ZA">South Africa</option>
	<option value="ES">Spain</option>
	<option value="LK">Sri Lanka</option>
	<option value="SH">St, Helena</option>
	<option value="SD">Sudan</option>
	<option value="SR">Suriname</option>
	<option value="SJ">Svalbard</option>
	<option value="SZ">Swaziland</option>
	<option value="SE">Sweden</option>
	<option value="CH">Switzerland</option>
	<option value="SY">Syria</option>
	<option value="TW">Taiwan</option>
	<option value="TJ">Tajikistan</option>
	<option value="TZ">Tanzania</option>
	<option value="TH">Thailand</option>
	<option value="TG">Togo</option>
	<option value="TK">Tokelau</option>
	<option value="TO">Tonga</option>
	<option value="TT">Trinidad</option>
	<option value="TN">Tunisia</option>
	<option value="TR">Turkey</option>
	<option value="TM">Turkmenistan</option>
	<option value="TC">Caicos Islands</option>
	<option value="TV">Tuvalu</option>
	<option value="UG">Uganda</option>
	<option value="UA">Ukraine</option>
	<option value="AE">United Arab Emirates</option>
	<option value="UM">US Minor Outlying Islands</option>
	<option value="UY">Uruguay</option>
	<option value="UZ">Uzbekistan</option>
	<option value="VU">Vanuatu</option>
	<option value="VA">Vatican City State</option>
	<option value="VE">Venezuela</option>
	<option value="VN">Viet Nam</option>
	<option value="VG">Virgin Islands (British)</option>
	<option value="VI">Virgin Islands (US)</option>
	<option value="WF">Wallis and Fortuna Islands</option>
	<option value="EH">West Sahara</option>
	<option value="YE">Yemen</option>
	<option value="YU">Yugoslavia</option>
	<option value="ZM">Zambia</option>
	<option value="ZW">Zimbabwe</option>	
</select>
<input type="submit" value="Search" name="Submit">
</form>
</BODY>
</HTML>

code for the page that displays the results
Code:
<?
//////////////THIS IS THE END OF THE PHP PAGE FOR DISPLAYING THE FORM 

////////////// THIS IS THE START OF THE PHP PAGE FOR DISPLAYING THE FORM SUBMISSION RESULTS
/////////////// IT MUST BE CALLED searchGig.php ////////

if (!isset($_POST['Submit']))
{
	die("Sorry you have arrived here incorrectly.");
}

///post variables are set.
/// parse the post variables into a sql string

$wherecriteria = buildsqlstring(); //this takes the POST vars from the submitted form and creates the where string

//now construct the whole sql string
$sql = "Select * from gigFinder $realwhere ORDER BY gigYear ASC, gigMonth ASC, gigDay ASC, gigStart ASC";

//now connect to the database and run the query

include("dbinfo.inc.php");
mysql_connect("localhost",$username,$password)  //note in the code you posted, localhost was not in quotes.  it may be that you had defined it as a constant?
	or die("unable to connect to database host");
@mysql_select_db($database) 
	or die( "Unable to select database");
$results = mysql_query($sql);

// create the table structure and headings
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr> 
<th><font face="Arial, Helvetica, sans-serif">Band</font></th>
<th><font face="Arial, Helvetica, sans-serif">Band Play</font></th>
<th><font face="Arial, Helvetica, sans-serif">Gig Start</font></th>
<th><font face="Arial, Helvetica, sans-serif">Date</font></th>
<th><font face="Arial, Helvetica, sans-serif">Venue</font></th>
<th><font face="Arial, Helvetica, sans-serif">E-mail</font></th>
<th><font face="Arial, Helvetica, sans-serif">Website</font></th>
<th><font face="Arial, Helvetica, sans-serif">Country</font></th>
<th><font face="Arial, Helvetica, sans-serif">County</font></th>
</tr>
<?

// now fill in the rows with real data
while ($row=mysql_fetch_assoc($sql))
{
	extract($row);
?>

<tr>
<td><?=$gigBandName?></td>
<td><?=$gigPlay?></td>
<td><?=$gigStart?></td>
<td><? echo date("d M Y", strtotime($gigYear."-".$gigMonth."-".$gigDay)); ?></td>
<td><?=$gigVenue?></td>
<td><? echo "<a href=\"mailto://$gigContactEmail\">$gigContactEmail</a>" ;?></td>
<td><? echo "<a href=\"[URL unfurl="true"]http://$gigContactWeb\">$gigContactWeb</a>"[/URL] ;?></td>
<td><?=$gigCountry?></td>
<td><?=$gigCounty?></td>
</tr>
<?
}
?>
</table> <!--- close the table tag here
<?

function buildsqlstring()
{
	//arrived here because the form button has been pressed
	
	//incoming wanted variables in the $_POST array are 
	/*
	gigBandName
	gigPlay
	gigDay
	gigMonth
	gigYear
	gigVenue
	gigCounty
	gigCountry
	*/
	
	//check the POST array for empty strings and build the where code at the same timee
	extract ($_POST);
	
	if (!empty($gigBandName))
	{
		$where[] = "`gigBandName`='". mysql_escape_string ($gigBandName) ."'";
	}
	if (!empty($gigPlay))
	{
		$where[] = "`gigPlay`='" . mysql_escape_string($gigPlay) ."'";
	}
	if (!empty($gigVenue))
	{
		$where[] = "`gigVenue`='".mysql_escape_string($gigVenue)."'";
	}
	if (!empty($gigCounty))
	{
		$where[] = "`gigCounty`='".mysql_escape_string($gigCounty)."'";
	}
	if (!empty($gigCountry))
	{
		$where[] = "`gigCountry`='".mysql_escape_string($gigCountry)."'";
	}
	
	//now check the dates
	if (empty($gigDay) || empty($gigMonth) || empty($gigYear))
	{
		//do nothing as there is a blank
	}
	else
	{
		//check that the date is valid
		$gigDate = $gigYear."-".$gigMonth."-".$gigDay;
		if (strtotime($gigDate) === -1)
		{
			//do nothing because date is bogus - i.e. 30 February, 2003
		}
		else
		{
			//either
			$where[] = "`gigDay`='$gigDay' AND `gigMonth` = '$gigMonth' AND `gigYear`='$gigYear'";
		}
	}
	
	//now assemble the where code
	$realwhere = " where ";
	$cnt =count($where);
	for ($i=0; $i<$cnt; $i++)
	{
		if($i != ($cnt-1)) //this means it is not the last value
		{
			$realwhere .= $where[$i] . " AND ";
		}
		else
		{
			//this is the last value
			$realwhere .= $where[$i];
		}
	}
	if ($cnt ===0 ) {$realwhere = "";}
	return $realwhere;
}
?>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top