rogerzebra
Technical User
Hi fellas,
I'm trying to make a form that uses only the filled out fields in a single database query.For example i have up to 3 fields and if just 2 of them are filled out by the user, i want to use only these 2 in the query. How can i generate a query according to filled fields? I know my problem is related to faulty defined $ClassCode variables, the database has only one ClassCode row and I'm not sure how to use the $result variable. As usual I appreciate any help I can get.
This is what I get when I echo the queries.
SELECT classcode_rate.ClassCode, classcode_rate.Classification, classcode_rate.Rate, carriernameid.CarrierName FROM classcode_rate INNER JOIN carriernameid ON classcode_rate.CarrierID=carriernameid.CarrierID WHERE carriernameid.CarrierName='Redwood' AND classcode_rate.ClassCode='5'AND classcode_rate.ClassCode = '' AND classcode_rate.ClassCode = ''
The query shows only the result from the first classcode variable, it's supposed to generate the value result from 3 different classcodes. Any ideas?
I'm trying to make a form that uses only the filled out fields in a single database query.For example i have up to 3 fields and if just 2 of them are filled out by the user, i want to use only these 2 in the query. How can i generate a query according to filled fields? I know my problem is related to faulty defined $ClassCode variables, the database has only one ClassCode row and I'm not sure how to use the $result variable. As usual I appreciate any help I can get.
Code:
///////Html//////////
<input type="text" name="ClassCode" size="10" maxlength="4">
<input type="text" name="ClassCode2" size="10" maxlength="4">
<input type="text" name="ClassCode3" size="10" maxlength="4"><br><br>
///////End Html////////////////////
$ClassCode = $_POST['ClassCode'];
$ClassCode2 = $_POST['ClassCode2'];
$ClassCode3 = $_POST['ClassCode3'];
$query = "SELECT classcode_rate.ClassCode, classcode_rate.Classification, classcode_rate.Rate, carriernameid.CarrierName
FROM classcode_rate INNER JOIN carriernameid
ON classcode_rate.CarrierID=carriernameid.CarrierID
WHERE carriernameid.CarrierName='$CarrierName' AND classcode_rate.ClassCode='$ClassCode'";
if($_POST['ClassCode2']) {
$query2 .= "AND classcode_rate.ClassCode = '" . $_POST['$ClassCode2'] ."' ";
}
if($_POST['ClassCode3']) {
$query3 .= "AND classcode_rate.ClassCode = '" . $_POST['$ClassCode3'] ."' ";
}
$result = mysql_query($query) or die (mysql_error());
This is what I get when I echo the queries.
SELECT classcode_rate.ClassCode, classcode_rate.Classification, classcode_rate.Rate, carriernameid.CarrierName FROM classcode_rate INNER JOIN carriernameid ON classcode_rate.CarrierID=carriernameid.CarrierID WHERE carriernameid.CarrierName='Redwood' AND classcode_rate.ClassCode='5'AND classcode_rate.ClassCode = '' AND classcode_rate.ClassCode = ''
The query shows only the result from the first classcode variable, it's supposed to generate the value result from 3 different classcodes. Any ideas?