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