Re: multi dimension array

From: Date: Mon, 13 Sep 2004 15:52:52 +0000
Subject: Re: multi dimension array
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-196516@lists.php.net to get a copy of this message
On Mon, 13 Sep 2004 08:04:41 -0700 (PDT), Dan McCullough <mcwc@rocketmail.com> 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/

« previous php.general (#196516) next »