Page 1 of 1

Problem with dual clause if statements during while loop

Posted: Wed Feb 25, 2009 9:40 am
by trekmtbr89
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
---------------------------------

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>";
 
 
?>