2010-12-13 33 views
0

我想知道是否可以將表中的字段名稱存儲到數組中,然後通過另一個表使用先前的數組數據作爲第二個sql循環的對象進行循環,例如$ foo - > $ bar,$ bar是數組中的索引。是否有可能使用變量進行SQL對象獲取調用而不是字符串名稱?

我希望你明白我的意思,我無法自己解釋。

所以交給你的PHP和SQL的奇幻大師解釋其如何正確地完成:)

// Connect to the database to gather all data pertaiing to the link in question 
$assoResult = mysql_query("SELECT * FROM associate_users"); 
while ($assoRow = mysql_fetch_field($assoResult)) { 
    $resultArray[] = $assoRow->name; 
} 

// Connect to the database to gather all data pertaiing to the link in question 
$assoResult = mysql_query("SELECT * FROM associate_users WHERE id='$getID'"); 
while ($assoRow = mysql_fetch_object($assoResult)) { 
    foreach ($resultArray as $row) { 
     $array = array(array(1 => $assoRow->{'$row'}, 2 => $row,),); 
    }  
} 

預先感謝您。

編輯!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

這個進一步的問題已經工作僅僅在於

foreach ($resultArray as $row) { 
    $array = array(array(1 => $assoRow->$row, 2 => $row,),); 
} 

我只需要循環添加到多維數組,而不是重寫它的foreach循環的eacj迭代。

我希望這是更容易解釋我的問題:)

+0

哦,我忘了提及的是,目前上面的代碼將只顯示錶的最後一行,並不能分配對象獲取「$ assRow - > {‘$行’}部分 – zealisreal 2010-12-13 16:43:02

+0

嘗試用簡單的英語來描述你試圖達到的目標(用一個輸入和期望輸出的例子)現在你的代碼和你的描述對我來說似乎都沒有任何意義 – wimvds 2010-12-13 16:51:28

+0

最後一個數組應該包含所有行從表中選擇特定用戶的數據,剛剛完成了進一步測試,我已經意識到問題在於foreach循環,並且它正在重新設置每個循環上的多維數組,即Array([0] => Array( [1] => foo [2] => bar))... Array([0] => Array([1] => foo2 [2] => bar2))。 st需要它在每個循環上添加和迭代數組索引。 – zealisreal 2010-12-13 17:01:17

回答

0

也許試試這個?

$array[] = array(array(1 => $assoRow->{'$row'}, 2 => $row,),);

+0

令人遺憾的是,它只是在數組上創建了一個額外的維度,它將所有正確的數據放入數組,但它會創建與數組中索引一樣多的新數組。 – zealisreal 2010-12-17 10:19:06

相關問題