2011-09-19 70 views
0

我有以下MySQL查询:广场MySQL查询所有结果行的阵列

$imgDimensions_query = "SELECT imgWidth, imgHeight FROM (
    SELECT imgHeight, imgWidth FROM primary_images WHERE imgId < 10 
    UNION 
    SELECT imgHeight, imgWidth FROM secondary_images WHERE primaryId < 10) as imgDimensions"; 
$imgDimensions_data = mysql_query($imgDimensions_query) or die('MySql Error' . mysql_error()); 

我想在两个单独的数组所有的结果;一个用于imgWidth,另一个用于imgHeight

我试图使用while循环来做到这一点,但我不知道在循环内部使用什么来创建数组。

我要解释一下,我会与你认为更好的方法,使用数组比该信息的情况下,做:我将首先去除imgWidthimgHeight任何结果,如果他们匹配的外部组值。然后,我会在表示删除后,找到imgWidthimgHeight的最大值,并将这两个值分别放入各个变量中。

感谢您的帮助。

回答

2

您可以使用mysql_fetch_asoc()这样的:

while($row = mysql_fetch_assoc($imgDimensions_data)) { 
    $imgWidth[] = $row['imgWidth']; 
    $imgHeight[] = $row['imgHeight']; 
} 
+0

其实,我试过了,在我等待,并创建一个关联数组,即使没有什么关联。因此,每个结果都与数字相关,如下所示:'Array ( [0] => 750 [1] => 563 [2] => 605 )。有没有办法建立一个非关联数组?或者,考虑到我想要对阵列做什么,它甚至会成为问题吗? – stefmikhail

+1

这不是一个关联数组,这是一个正常的数组。一个关联数组具有字符串,因为它的关键字.... ie:'Array(['key'] =>'value')'那么,你希望你的'imgWidth'数组看起来像那样? –

+0

感谢您的更正。也许我很困惑。我想我在想这个数组没有键,只有值。这是甚至可能的,还是我疯了(你总是有机会...)... – stefmikhail