Php 将其他表中的数据添加到其他表的循环中
我试图将另一个表中的列添加到另一个表中的while循环中,我尝试了类似的方法,但似乎不起作用。我怎样才能做到这一点?据我所知,我需要将data_auth中的变量保存在数组中,但如何在循环中回显它们Php 将其他表中的数据添加到其他表的循环中,php,mysql,Php,Mysql,我试图将另一个表中的列添加到另一个表中的while循环中,我尝试了类似的方法,但似乎不起作用。我怎样才能做到这一点?据我所知,我需要将data_auth中的变量保存在数组中,但如何在循环中回显它们 $SQL = mysql_query("SELECT * FROM users ORDER BY data_reg DESC LIMIT $offset, $rowsperpage"); while($rand = mysql_fetch_assoc($SQL)){ $id = $rand
$SQL = mysql_query("SELECT * FROM users ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
while($rand = mysql_fetch_assoc($SQL)){
$id = $rand['id'];
$user= $rand['user'];
$SQL2 = mysql_query("SELECT data_auth FROM access_log WHERE user = '$user'");
while($rand = mysql_fetch_assoc($SQL2)){
$data_auth = $rand['data_auth'];
}
?>
<li><?php echo "$user"; ?></li>
<li><?php echo "$data_auth"; ?></li>
<?php
}
?>
$SQL=mysql\u query(“按数据从用户订单中选择*”\u reg DESC LIMIT$offset,$rowsperpage”);
而($rand=mysql\u fetch\u assoc($SQL)){
$id=$rand['id'];
$user=$rand['user'];
$SQL2=mysql_查询(“从access_日志中选择数据_auth,其中user='$user');
而($rand=mysql\u fetch\u assoc($SQL2)){
$data_auth=$rand['data_auth'];
}
?>
无法在另一个while循环中打印data\u auth变量,因为该变量不是由mysql获取的,因此您有一个输入错误:
<li><?php echo "data_auth"; ?></li>
无法在另一个while循环中打印data\u auth变量,因为该变量不是由mysql获取的,因此您有一个输入错误:
<li><?php echo "data_auth"; ?></li>
您可以只使用一个sql查询,如下所示:
//$SQL = mysql_query("SELECT users.*,access_log.data_auth FROM users,access_log WHERE users.user = access_log.user ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
//SQL with JOIN syntax
$SQL = mysql_query("SELECT users.*,access_log.data_auth FROM users INNER JOIN access_log ON users.user = access_log.user ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
while($rand = mysql_fetch_assoc($SQL)){
$id = $rand['id'];
$user= $rand['user'];
$auth = $rand['data_auth'];
?>
<li><?php echo $user; ?></li>
<li><?php echo $auth; ?></li>
<?php
}
?>
/$SQL=mysql\u query(“选择用户。*,从用户访问\u log.data\u auth,访问\u log WHERE users.user=access\u log.user ORDER BY data\u reg DESC LIMIT$offset,$rowsperpage”);
//使用联接语法的SQL
$SQL=mysql\u query(“选择用户。*,从用户访问\u log.data\u auth内部连接访问\u登录用户。用户=访问\u log.user ORDER BY data\u reg DESC LIMIT$offset,$rowsperpage”);
而($rand=mysql\u fetch\u assoc($SQL)){
$id=$rand['id'];
$user=$rand['user'];
$auth=$rand['data_auth'];
?>
您可以只使用一个sql查询,如下所示:
//$SQL = mysql_query("SELECT users.*,access_log.data_auth FROM users,access_log WHERE users.user = access_log.user ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
//SQL with JOIN syntax
$SQL = mysql_query("SELECT users.*,access_log.data_auth FROM users INNER JOIN access_log ON users.user = access_log.user ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
while($rand = mysql_fetch_assoc($SQL)){
$id = $rand['id'];
$user= $rand['user'];
$auth = $rand['data_auth'];
?>
<li><?php echo $user; ?></li>
<li><?php echo $auth; ?></li>
<?php
}
?>
/$SQL=mysql\u query(“选择用户。*,从用户访问\u log.data\u auth,访问\u log WHERE users.user=access\u log.user ORDER BY data\u reg DESC LIMIT$offset,$rowsperpage”);
//使用联接语法的SQL
$SQL=mysql\u query(“选择用户。*,从用户访问\u log.data\u auth内部连接访问\u登录用户。用户=访问\u log.user ORDER BY data\u reg DESC LIMIT$offset,$rowsperpage”);
而($rand=mysql\u fetch\u assoc($SQL)){
$id=$rand['id'];
$user=$rand['user'];
$auth=$rand['data_auth'];
?>
据我所知-您只需要在与用户相关的列中显示所有数据验证值的列表。最简单的方法是:
$SQL = mysql_query("SELECT * FROM users ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
while($rand = mysql_fetch_assoc($SQL)){
$id = $rand['id'];
$user= $rand['user'];
$SQL2 = mysql_query("SELECT data_auth FROM access_log WHERE user = '$user'");
?>
<li><?php echo "$user"; ?></li>
<li><?php
while($rand2 = mysql_fetch_assoc($SQL2)){
echo $rand2['data_auth'] . '<br/>';
}
?>
</li>
<?php
}
?>
据我所知,您只需要在与用户相关的列中显示所有数据\u auth值的列表。最简单的方法是:
$SQL = mysql_query("SELECT * FROM users ORDER BY data_reg DESC LIMIT $offset, $rowsperpage");
while($rand = mysql_fetch_assoc($SQL)){
$id = $rand['id'];
$user= $rand['user'];
$SQL2 = mysql_query("SELECT data_auth FROM access_log WHERE user = '$user'");
?>
<li><?php echo "$user"; ?></li>
<li><?php
while($rand2 = mysql_fetch_assoc($SQL2)){
echo $rand2['data_auth'] . '<br/>';
}
?>
</li>
<?php
}
?>
每次登录他的访问时,您都会得到一个用户行,而不是一个包含所有访问事件列表的用户行。不确定这是否有意义。@FAngel我假设在access\u log表中,每个用户只有一条记录,对应于用户的上次访问。我假设这是因为OP的原始代码只显示了一条访问记录g、 我可能是错的,但应该是OP来澄清问题。是的,是我的错,我没有澄清问题。这是@Netra Ok表,所以每个用户在access_日志上都有几个记录,在这种情况下,我的解决方案并不比使用FAngel解决方案更好。每次登录他的访问时,你都会得到一条用户线,而不是一个用户l所有访问事件的列表。不确定是否有意义。@FAngel我假设在access\u log表中每个用户只有一条记录,对应于用户的最后一次访问。我假设,因为OP的原始代码只显示了access\u log的一条记录。我可能是错的,但应该是OP来澄清问题。是的,是我的错误,我没有c把事情弄清楚。这是@Netra Ok的表,所以每个用户在访问日志上都有几条记录,在这种情况下,我的解决方案不适合使用FAngel解决方案。嗯……两个建议都是相同的,除了第一种情况下,
$data\u auth
数组没有额外的内存使用,也没有第二个循环。还有第三种选择ion-收集html,它应该在second foreach中输出到一个临时字符串变量中,而不是数组中。好吧……这两个建议是相同的,只是在第一种情况下,$data\u auth
数组没有额外的内存使用,也没有第二个循环。还有第三个选项-收集html,它应该在second foreach int中输出o临时字符串变量,而不是数组。