On Mon, 13 Sep 2004 08:04:41 -0700 (PDT), Dan McCullough <[EMAIL PROTECTED]> wrote: > $sql = "SELECT dealer.dealerid as ddealerid, dealer.company as company, dealer.name > as name, > dealer.surname as surname, dealer.email as email, dealer.contactday as contactday, > orders.orderid > as oorderid FROM dealer LEFT JOIN orders ON dealer.dealerid = orders.dealerid WHERE > orders.status > = '10' GROUP BY dealer.dealerid";
Do you actually have any rows with status equal to 10 in the orders table? > $result = mysql_query($sql); > $num_rows = mysql_num_rows($result); > echo "table join select statement -> ".$num_rows."\n"; > if (!$result) { > die('Invalid query: ' . mysql_error()); > } > if ($num_rows!='0') { I'd just say if($num_rows) here > //$message ="$num_rows Orders Waiting for the Dealer.\n\n"; > //$message > .="----------------------------------------------------------------------\n"; > while($row = mysql_fetch_array($result)) { > $orderid = $row['orderid']; > $dealerid = $row['ddealerid']; > echo "dealer id -> > ".$dealerid." | "; > $dealerid = > $row['email']; > echo "dealer email > -> ".$email."\n"; > /*$message > .="\nOrder #: $orderid | Dealer ID: $dealerid | "; > if ($dealerid != NULL && $dealerid != '0') { You're joining dealers to orders, so you will always get rows from dealers, and orders will be the aggregate. I don't see any point in testing the dealerid here, you will always have one as far as I can tell. > $sql2 = "SELECT * from dealer WHERE dealerid='".$dealerid."'"; > $result2 = mysql_query($sql2); > if (!$result) { > die('Invalid query: ' . mysql_error()); > } > $row2 = mysql_fetch_array($result2); > $name = $row2['name']; > $email = $row2['email']; > > $surname = $row2['surname']; > > $company = $row2['company']; > $message .="Company: $company | Name: $name $surname | Email: > $email\n"; > }*/ > //if ($dealerid != > '0' || $dealerid != NULL) { > $message .= > "$company (DID: $ddealerid) has $number_orders waiting for them.\n"; > $message > .="----------------------------------------------------------------------\n"; > $message .= > "Contact. $name $surname at $email or $contactday \n"; > $message .= > "Order #: $oorderid \n"; > $message > .="----------------------------------------------------------------------\n\n\n"; > //} else { > //$message > .="----------------------------------------------------------------------\n"; > //$message > .= "Order #: $orderid has no dealer information.\n"; > //$message > .="----------------------------------------------------------------------\n\n\n"; > //} > } > $message .="\n\n\n"; > //$message > .="----------------------------------------------------------------------\n"; > $datestamp=date("Y-m-d H:i:s"); > $message .="Sent on: ".$datestamp."\n"; > $title="$num_rows Orders Waiting for the Dealer"; > mail($email_address,$title,$message,$headers); > } else { > > so I get > > (DID: ) has waiting for them. > ---------------------------------------------------------------------- > Contact. at or > Order #: > ---------------------------------------------------------------------- I don't see any point in using a second query, it appears as though you can get all the data with one query. What do your tables look like? Do: desc orders; desc dealers; Not that anything is wrong with the way it's coded, but you might wanna check out heredoc syntax, it'd make those text build-ups a lot cleaner. Something like this: $message .= <<<EOF (DID: $dealerid) has $num_rows waiting for them. ---------------------------------------------------------------------- Contact. $name $surname at $email or $contactday Order #: $orderid ---------------------------------------------------------------------- EOF; -- Greg Donald http://destiney.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php