【发布时间】:2010-12-13 16:38:25
【问题描述】:
我想知道是否可以将表中的字段名称存储到一个数组中,然后使用先前的数组数据作为第二个 sql 循环的对象循环另一个表,即 $foo->$bar,$bar 是数组中的索引。
我希望你明白我在这里的意思,我自己无法解释。
那么请各位优秀的 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 迭代中重写它。
我希望这更容易解释我的问题:)
【问题讨论】:
-
哦,我忘了说,目前上面的代码只会显示表格的最后一行,并且不能分配对象 fetch "$assRow->{'$row'} 部分。跨度>
-
尝试用简单的英语描述你想要达到的目标(以输入和预期输出为例)。现在,您的代码和您的描述对我来说似乎都没有任何意义。
-
最后的数组应该保存从表中选择的特定用户的所有行数据,刚刚做了进一步的测试,我意识到问题出在 foreach 循环中,它是- 在每个循环上设置多维数组,即 Array ( [0] => Array ( [1] => foo [2] => bar)) ... Array ( [0] => Array ( [1] => foo2 [2] => bar2))。我只需要它在每个循环上添加和迭代数组索引。
-
我仍然不完全明白你想要什么,但我可以非常自信地说你应该只查询一次表。一旦你拉下整个表格,一切都应该在 PHP 中完成。我知道使用 WHERE 子句看起来很方便,但是 array_filter 可以做所有相同的事情
标签: php sql multidimensional-array