【发布时间】:2013-12-20 20:54:21
【问题描述】:
我有这个 mysql 查询,我想循环直到在表中找不到更多结果,
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
}
我想要的是像这样一次又一次地循环相同的查询:
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
}
}
这最后的代码将循环查询两次,但我遇到的问题是我想循环它直到找不到更多结果
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
}
循环 3 次:
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
$sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
$ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
echo $id;
}
}
}
那么我如何无限次重复代码直到数据库中没有结果
【问题讨论】:
-
你想要'递归'和'树结构'
-
不,我认为他只想获取该表上的所有行,而代码只做了一次......
-
是的,杰西卡,这就是我想要的,无论如何,例如如何做对?
-
所以听起来你正试图在你的数据库表中表示一个树结构。您可能需要多考虑一下您的架构。您不需要递归查询表来获取此数据,而是如果您有一个设计正确的表架构,则能够在单个查询中获取数据。有关更多信息,请参阅这些链接:mikehillyer.com/articles/managing-hierarchical-data-in-mysqlstackoverflow.com/questions/5916482/…