Problem with dual clause if statements during while loop
Posted: Wed Feb 25, 2009 9:40 am
I am experiencing a problem with a loop where I pull data from 2 different sql tables
Customer table
Order table
based on the current date, and grabbing info from the order table, I create
$MRC //derived from an integer(12,2) - most recent contribution amount
$MRC_DATE //date of most recent contribution
$HPC //derived from an integer(12,2) - Highest previous contribution amount
$HPC_DATE //date of highest previous contribution amount
Then I need to look at those variables created for every entry in the customer table and create a mailing code based on the $HPC being within a certain dollar range and the $MRC_DATE being within a certain date range from the current date.
I am having issues with my if statments processing even though they are clearly false. can somone take a look and provide some input? I've simplified the code down to the easiest format to look at.
**note that I've commented out alot of the secondary if statements to issolate the problem
---------------------------------
Customer table
Order table
based on the current date, and grabbing info from the order table, I create
$MRC //derived from an integer(12,2) - most recent contribution amount
$MRC_DATE //date of most recent contribution
$HPC //derived from an integer(12,2) - Highest previous contribution amount
$HPC_DATE //date of highest previous contribution amount
Then I need to look at those variables created for every entry in the customer table and create a mailing code based on the $HPC being within a certain dollar range and the $MRC_DATE being within a certain date range from the current date.
I am having issues with my if statments processing even though they are clearly false. can somone take a look and provide some input? I've simplified the code down to the easiest format to look at.
**note that I've commented out alot of the secondary if statements to issolate the problem
---------------------------------
Code: Select all
<?php
$DBhost = "localhost";
$DBuser = "";
$DBpass = "";
$DBName = "central_user_db";
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");
@mysql_select_db("$DBName") or die("Unable to select database $DBName");
$TOTAL_CUST = mysql_result(mysql_query("SELECT COUNT(CUSTNUM) FROM cust"),0);
$M="Z";
$DAY=date(d);
$MONTH=date(m);
$YEAR=date(Y);
$Y=date(y);
$CURRENT_DATE="$YEAR-$MONTH-$DAY";
//6month ago date
IF ($MONTH>06){$MONTH6=$MONTH-6; $YEAR6=$YEAR;}
IF ($MONTH<=06){$MONTH6=$MONTH+12-6; $YEAR6=$YEAR-1;}
IF ($MONTH6<10){$MONTH6="0$MONTH6";}
$LAST_DATE_6="$YEAR6-$MONTH6-$DAY";
//12month ago date
$YEAR12=$YEAR-1;
$LAST_DATE_12="$YEAR12-$MONTH-$DAY";
//18month ago date
IF ($MONTH>06){$MONTH18=$MONTH-6; $YEAR18=$YEAR-1;}
IF ($MONTH<=06){$MONTH18=$MONTH+12-6; $YEAR18=$YEAR-2;}
IF ($MONTH6<10){$MONTH18="0$MONTH18";}
$LAST_DATE_18="$YEAR18-$MONTH18-$DAY";
//24month ago
$YEAR24=$YEAR-2;
$LAST_DATE_24="$YEAR24-$MONTH-$DAY";
echo"($TOTAL_CUST) Customers as of 2009-02-24<br>
<table>
<tr style='background:#000000;color:#FFFFFF;'>
<td>Doner ID#</td><td>Adressee</td><td>Salutation</td><td>Prefix</td><td>First Name</td><td>Middle Name</td>
<td>Last Name</td><td>Suffix</td><td>Addrline 1</td><td>Addrline2</td><td>Alt Addrline</td><td>City</td>
<td>State</td><td>Zip</td><td>Zip+4</td><td>Mail Code</td><td>HPC Amount</td><td>HPC Date</td><td>MRC Amount</td>
<td>MRC Date</td><td>E-Mail</td><td>HPhone</td><td>WPhone</td>
</tr>";
$QUERY = "SELECT * FROM cust ORDER BY ASC LIMIT 10";
$RESULT = mysql_query($QUERY);
while($rows = mysql_fetch_array($RESULT))
{
$CUSTNUM=$rows[0];
$HPC = mysql_result(mysql_query("SELECT MAX(ORD_TOTAL) FROM cms WHERE CUSTNUM ='$CUSTNUM'"),0);
$HPC_DATE = mysql_result(mysql_query("SELECT ODR_DATE FROM cms WHERE CUSTNUM='$CUSTNUM' AND ORD_TOTAL='$HPC' ORDER BY ODR_DATE DESC"),0);
$MRC_DATE = mysql_result(mysql_query("SELECT MAX(ODR_DATE) FROM cms WHERE CUSTNUM ='$CUSTNUM'"),0);
$MRC = mysql_result(mysql_query("SELECT ORD_TOTAL FROM cms WHERE CUSTNUM='$CUSTNUM' AND ODR_DATE='$MRC_DATE'"),0);
echo"
<tr><td>$rows[0]</td>
<td>$rows[3] $rows[2]</td>
<td>$rows[18]</td>
<td>$rows[19]</td>
<td>$rows[3]</td>
<td></td>
<td>$rows[2]</td>
<td>$rows[20]</td>
<td>$rows[59]</td>
<td>$rows[6]</td>
<td></td>
<td>$rows[7]</td>
<td>$rows[8]</td>
<td>$rows[9]</td>
<td></td>";
//define house & lapsed rules
IF ($HPC < 5.00)
{
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=01;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="02";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="03";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="04";}
}
IF (5.00 <= $HPC && $HPC < 9.99)
{
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=01;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="02";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="03";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="04";}
}
IF (9.99 <= $HPC && $HPC < 14.99)
{
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=05;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="06";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="07";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="08";}
}
IF (14.99 <= $HPC && $HPC < 24.99)
{
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=09;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="10";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="11";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="12";}
}
IF (24.99 <= $HPC && $HPC < 49.99)
{
IF ($MRC_DATE > $LAST_DATE_6)
{
$CODE=H;
$CODE2=13;
}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="14";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="15";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="16";}
}
IF (49.99 <= $HPC && $HPC < 99.99)
{
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=17;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="18";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="19";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="20";}
}
IF ($HPC > 99.99){
//IF ($MRC_DATE > $LAST_DATE_6) {$CODE=H;$CODE2=21;}
//IF ($MRC_DATE < $LAST_DATE_6 && $MRC_DATE > $LAST_DATE_12) {$CODE="H";$CODE2="22";}
//IF ($MRC_DATE < $LAST_DATE_12 && $MRC_DATE > $LAST_DATE_18) {$CODE="H";$CODE2="23";}
//IF ($MRC_DATE < $LAST_DATE_18 && $MRC_DATE > $LAST_DATE_24) {$CODE="H";$CODE2="24";}
}
echo"
<td>P$Y$CODE$M$CODE2</td>
<td>$HPC</td>
<td>$HPC_DATE</td>
<td>$MRC</td>
<td>$MRC_DATE</td>
<td></td>
<td></td>
<td></td>
<td></td></tr>";
}
echo"</table><HR>";
?>