2013-03-17 70 views
1

抱歉,我的大脑不做数组,指针和oop - 到目前为止,我设法应付简单的1-行'记录'型数组和旧的结构化编程方法。php,如何找到并复制特定的行/行的2维数组到另一个数组进行处理

但我现在需要处理一个2维表类型的数组下面的mysql查询。

这里就是我需要做的:

  1. 获得MySQL返回数组中记录到另一个阵列如。

    while ($row = @mysql_fetch_array($result_35bid, MYSQL_BOTH)) //-- done 
        { 
    
  2. 将$行复制到另一个数组;

         $rowcopy = array(); 
         $rowcopy = $row;    //-- i think i have done ok 
    
  3. 现在我需要找到包含在一个字段名“domname”的所有特定值和该行/线复制到另一个阵列。所以我该怎么做?从我的$ rowcopy到一个新的数组。所以,我需要从字段名称domname中找到每个具有字段值“mydomain”的行,并将其复制到新数组$ newArray中。

我都试过,但它失败:

  $newArray = array(); 
     $newline = 0; 
     for($i = 0; $i < count($rowcopy); $i++) 
     { 

      if ($rowcopy['domname'] == 'mydomain' ) 
      { 
       $newline ++; 

        $newArray[$newline] = $rowcopy[$I]; 
            //-- copy this row to new array 

            //-- i think my problem is here ?? 

      } 

     } // end-for 

    print_r($newArray); 

     } // end-while 

这将导致包含所有记录/行有在该领域/键字段值“MYDOMAIN”的$ rowcopy的一个子集'domname'添加到新的更小的数组$ newArray中。

[在MySQL方面,我需要找到一个conatin某个域名的所有记录 - 但这个我需要使用数组,因为这是从一个MySQL查询alreday执行遵循在PHP做]

任何帮助赞赏。

谢谢。

回答

0

在从数据库中检索行的部分中,如果当前行包含指定的内容,则可以检查该行。如果是这样,那么你可以使用array_push()。

$result = array(); 
while ($row = @mysql_fetch_array($result_35bid, MYSQL_BOTH) { 
     if($row['domain'] == 'mydomain') { 
      $result[$row['domain']][] = $row; 
     } 
} 

你会得到阵列:

$result = array(); 
while ($row = @mysql_fetch_array($result_35bid, MYSQL_BOTH) { 
     if($row['domain'] == 'mydomain') { 
      array_push($result, $row); 
     } 
} 

更多细节

0
$result = array(); 
while ($row = @mysql_fetch_array($result_35bid, MYSQL_BOTH) { 
     if($row['domain'] == 'mydomain') { 
      $result[] = $row; 
     } 
} 

你会得到行其中域是 'MYDOMAIN' 的数组 你也可以做到见PHP.net - Manual域名作为键和行数组作为值。换句话说,你将按域名排序

PS:我认为你不需要MYSQL_BOTH。也不要使用mysql_函数。改用mysqli_或PDO。

+0

我需要了解多维数组 - 但我在这里的逻辑并不好。我设法做了2种排序的mysql查询,所以现在我不需要在php中做进一步的处理。 2-sorts mysql查询involed是:SELECT * FROM auction WHERE bidderemail ='$ uemail'AND txtype ='$ txtype'ORDER BY domain,bidamount DESC“; **注意两个字段名称在逗号后用逗号分隔。 – ali 2013-03-20 00:43:12

相关问题