Php 从表MYSQL获取所有id
我想回显用户表中的所有ID,但无法使其正常工作。我在下面尝试了这个,搜索了一些堆栈,但我找不到正确的答案Php 从表MYSQL获取所有id,php,mysql,mysqli,Php,Mysql,Mysqli,我想回显用户表中的所有ID,但无法使其正常工作。我在下面尝试了这个,搜索了一些堆栈,但我找不到正确的答案 $query = $db->query( "SELECT * FROM users" ); $num = $db->num( $query ); while( $array = $db->assoc( $query ) ) { $active_ids = $array['id'];
$query = $db->query( "SELECT * FROM users" );
$num = $db->num( $query );
while( $array = $db->assoc( $query ) ) {
$active_ids = $array['id'];
}
$query = "SELECT u.username, u.habbo, count(*) AS n
FROM users u, timetable tt
WHERE u.id=tt.dj and u.id IN (".$active_ids.")
GROUP BY tt.dj";
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()){
echo "<tr id='uren-table-row'>";
echo "<td width='60px'><div style='height:50px;padding-top:25px;overflow:hidden;float:left;margin-top:-25px;'><img style='margin-top:-28px;float:left;' src='http://habmoon.org/moonstream/dj?habbie={$row['habbo']}&head_direction=3&direction=2&size=b&hb=img&gesture=sml'></div></td>";
echo "<td width='200px' style='padding:0 15px;'>", $row['username'] ,"</td>";
echo "<td style='padding:0 15px;'>Heeft <b>", $row['n'] ,"</b> Uur gedraait deze week</td>";
echo "</tr>";
}
}
从查询中删除计数*为n。这将导致MySQL只返回1条记录
您的第一行也有一些错误:
$active_ids = array();
while( $array = $db->assoc( $query ) ) {
$active_ids[] = $array['id'];
}
您忘记定义$active_id并添加[]。从查询中删除count*AS n。这将导致MySQL只返回1条记录
您的第一行也有一些错误:
$active_ids = array();
while( $array = $db->assoc( $query ) ) {
$active_ids[] = $array['id'];
}
您忘记定义$active\u id并添加[]。您需要将$active\u id设置为CSL。目前,您在每次迭代中都会覆盖ID,因此只会得到最后一个ID。还需要用逗号分隔,以便使用。尝试:
您需要将$active\u id设置为CSL。目前,您在每次迭代中都会覆盖ID,因此只会得到最后一个ID。还需要用逗号分隔,以便使用。尝试:
运行此代码时会发生什么情况?它只显示1个结果,但我需要回显所有结果的@DelmerNicholsonDo var_dump$查询。结果是什么。运行此代码时会发生什么?它只显示1个结果,但我需要回显所有结果的@DelmerNicholsonDo var_dump$查询。结果是什么,不算身份证。。因为当我使用$active_id='1,3,4';它工作得很好,但我需要它是自动化的。对不起,我不明白,如果您将count*AS n从查询中删除,那么您将获得所有相关记录。如果您根本不想计算它们,那么就不要附加我的第二个代码。这就是我现在给你算身份证的原因。替换:IN.$active\u id。使用IN.join“,”和$active\u id。在您的query.hmm不起作用$query=选择u.username,u.habbo,将*从用户u算为n,其中u.id=tt.dj,u.id in.join',,$active\u id。tt.dj分组;不算身份证。。因为当我使用$active_id='1,3,4';它工作得很好,但我需要它是自动化的。对不起,我不明白,如果您将count*AS n从查询中删除,那么您将获得所有相关记录。如果您根本不想计算它们,那么就不要附加我的第二个代码。这就是我现在给你算身份证的原因。替换:IN.$active\u id。使用IN.join“,”和$active\u id。在您的query.hmm不起作用$query=选择u.username,u.habbo,将*从用户u算为n,其中u.id=tt.dj,u.id in.join',,$active\u id。tt.dj分组;您仍然需要定义一个$active_ids变量,否则它将抛出一个通知。@divix不会使用动态数组赋值。演示:连接,.=,将抛出通知,因为它试图连接以前未定义的字符串。很公平,我的错。但我还是更喜欢上面的变量定义:您仍然需要定义一个$active_ids变量,否则它会抛出一个通知。@divix不会使用动态数组赋值。演示:连接,.=,将抛出通知,因为它试图连接以前未定义的字符串。很公平,我的错。但我还是更喜欢上面的变量定义: