2010-12-13 44 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

相关问题