带有循环的php mysql查询

标签 php mysql foreach while-loop

我试图在我的数据库中检索用户的结果,然后如果我的复选框被选中以仅检索有照片来显示这些结果的用户,但我似乎无法弄清楚如何遍历这些结果或者我是否在正确的环境中这样做。 `

$photos = $_POST['pcbox'];
$basicsql = "SELECT * FROM users";
$basicsql .= "WHERE status > '1'";
if($photos=='1'){
    $sql = mysql_query("SELECT user_id FROM pictures GROUP BY user_id");
    while($row2 = mysql_fetch_assoc($sql))
    $options[] = " AND (users.user_id = '$row2[user_id]')";
    foreach($options as $key => $str){
        $basicsql .= $str;
    }
}
$basicsql .= " ORDER BY users.last_login DESC";
$pagesql = mysql_query($basicsql);

在复选框被选中之前一切正常

最佳答案

您不能对嵌套循环使用相同的数据库句柄。您需要为每个显式设置数据库句柄。

但是,您可以在一个 sql 查询中完成。

观察:

select * from users u inner join pictures p on u.id=p.user_id 其中 status > 1

INNER JOIN 只会为您提供在图片表中有行的用户。

这将为您提供只有图片的用户。

编辑

这将给出 pitcures 的数量,并且只有 1 个用户行。

Select name,email,address,status,count(*) as num_pics from users u inner join pictures p on u.id=p.user_id 按名称、电子邮件、地址、状态分组 其中 status > 1

关于带有循环的php mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886518/

相关文章:

php - 如何从数据库中获取空字段

php - mysql_fetch_assoc 只获取一条记录

mysql - 获取每次访问的平均时间

mysql - 加入后 SUM 不正确

c# - foreach 和集合的使用速度慢吗?

java - 使用 PHP 将 Android 数据添加到 MySQL

php - Laravel - 检查请求方法

mysql - 处理'同时更新内容的SQL查询

PHP foreach 循环只给出 1 个结果

loops - 将一个变量的值替换为其他变量的值 Stata 13