Re: array intersect with 2 arrays created from mysql

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It may be because your not initialising your array. ie:
        $partner_type = array();
        $partner_region = array();
PHP should automatically make it an array (if its not previously a different 
type) as soon as you do $partner_type[] but if you get no results from your 
query then it wont be an array.


Cheers,

Owen Prime
http://www.noggin.com.au

Nigel Dunn wrote:

> Hi,
> 
> If anyone can help me with this I'd be most appreciative.
> 
> I'm constructing 2 arrays of IDs from 2 different tables. Then I want to
> compare one to the other and only use the results that both arrays share
> in common to do a query loop that pulls the information for the related
> IDs to display.
> 
> The error I get from the code below is:
> 
> Warning: Argument #2 to array_intersect() is not an array in
> /usr/local/www/vhosts/trustbuild.co.nz/htdocs/partners_region.php on
> line 185
> 
> I cant see what is causing the problem.
> 
> <<< Start of My Existing Code >>>
> 
> $result = mysql_query("SELECT partner_id FROM partner_region WHERE
> region_id = '$r' ORDER BY partner_id");
> if ($row = mysql_fetch_array($result)) {
>    do {
>      partner_region[] = $row['partner_id'];
>    } while ($row = mysql_fetch_array($result));
> }
> 
> if (count($partner_region) != 0) {
>    array_unique($partner_region);
> }
> 
> $result2 = mysql_query("SELECT id FROM partner WHERE type = '$t' ORDER
> BY id");
> if ($row2 = mysql_fetch_array($result2)) {
>    do {
>      partner_type[] = $row2['id'];
>    } while ($row2 = mysql_fetch_array($result2));
> }
> 
> if (count($partner_type) != 0) {
>    array_unique($partner_type);
> }
> 
> $partner = array_intersect($partner_region, $partner_type);
> 
> if (count($partner) != 0) {
>    foreach ($partner as $p) {
>      $result3 = mysql_query("SELECT * FROM partner WHERE id = '$p'");
>      if ($row3 = mysql_fetch_array($result3)) {
>        do {
>          $company_name = $row3['company_name'];
>          $contact_name = $row3['contact_name'];
>          $physical_address = $row3['physical_address'];
>          $postal_address = $row3['postal_address'];
>          $city = $row3['city'];
>          $phone = $row3['phone'];
>          $fax = $row3['fax'];
>          $email = $row3['email'];
>          $url = $row3['url'];
>          $gst_number = $row3['gst_number'];
>          $company_age = $row3['company_age'];
>          $services = $row3['services'];
> $region = region($r);
> 
>          if ($count == 0) {
> echo "<tr><td bgcolor='#FFFFFF'><a href='closeup.php?id=$id'>$region
> $company_name</a><br>Type: $company_type<br>Contact Name:
> $contact_name<br>".nl2br($physical_address)."</td></tr>";
>            $count++;
>          } else {
>            echo "<tr><td bgcolor='#DDDDDD'><a
> href='closeup.php?id=$id'>$region $company_name</a><br>Type:
> $company_type<br>Contact Name:
> $contact_name<br>".nl2br($physical_address)."</td></tr>";
>            $count--;
>          }
>        } while ($row3 = mysql_fetch_array($result3));
>      }
>    }
> } else {
>    echo "There are no listings for your criteria. Please try again.<br>";
> }
> 
> <<< End of My Existing Code >>>
> 
> Thanks in advance for any help with this one,
> 
> Nigel Dunn

-- 
Cheers,

Owen Prime
http://www.noggin.com.au

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux