如何修复此SQL循环(PHP)?

时间:2016-09-15 10:26:35

标签: php mysql loops

我设计了一个循环,但是我不喜欢它,我假设有更好的方法来做到这一点,但我很困惑。

基本上,有两个表。 BlogSubscribers和用户

BlogSubscribers只为订阅者(与用户相关)表保存用户ID,我正在尝试获取"性别"作为订阅者的每个用户的值,但该信息存储在Users表中。

循环只经过一次(这就是为什么我试图用整数循环它) - 我怎样才能使这项工作更有效率?

如果您能解释您发布的任何答案,那就太棒了,所以我知道代码将来如何运作。

$ ID只是通过网址的GET参数,即?Blog = $ ID

$GetSubInfo = mysqli_query($db, "SELECT * FROM BlogSubscribers WHERE BlogID = '$ID'");


$GetSubInfoCount = mysqli_num_rows($GetSubInfo);
$LoopCount = 0;

while($LoopCount < $GetSubInfoCount){
$GetSubs = mysqli_fetch_object($GetSubInfo);
$GetFemaleSubs = mysqli_num_rows(mysqli_query($db, "SELECT * FROM Users WHERE ID = '$GetSubs->UserID' AND Gender = 'Female'"));
$GetMaleSubs = mysqli_num_rows(mysqli_query($db, "SELECT * FROM Users WHERE ID = '$GetSubs->UserID' AND Gender = 'Male'"));
$GetOtherSubs = mysqli_num_rows(mysqli_query($db, "SELECT * FROM Users WHERE ID = '$GetSubs->UserID' AND Gender = 'Other'"));
$GetUnknownSubs = mysqli_num_rows(mysqli_query($db, "SELECT * FROM Users WHERE ID = '$GetSubs->UserID' AND Gender = 'Unknown'"));
$LoopCount = $LoopCount + 1;
}

0 个答案:

没有答案