Php 计数不适用于我的通知
Php count cannot work for my notification
当我回显 ''.$count.''
时显示 11101101
。但我想总计 8 或 7 等。请问我的代码有什么问题。
我也试过 $count = mysqli_num_rows($u);
但结果是一样的。
我的代码:
$g = mysqli_query($dbh,"SELECT id FROM update WHERE from_id`='".$b."' OR `to_id`='".$session->id."'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($g)) {
$ids[]= $rows['id'];
}
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
$count = mysqli_affected_rows($dbh);
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
echo ''.$count.'';
}
你可以简单地使用
$count=$u->num_rows;
echo $count;
我认为您的问题只是格式错误。这里为什么要用''
?
尝试简单地写:
echo $count;
将总计数分配给这样的变量:
假设 mysqli_num_rows 需要查询结果 $u
作为参数。
$total = 0;
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
$count = mysqli_num_rows($u);
$count = ($count == "") ? 0 : $count;
$total = $total + $count;
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
}
echo $total;
您需要像这样稍微更改您的代码
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
echo mysqli_num_rows($u);
}
如果您需要在所有 foreach 语句之后回显,请使用此
$count=0;
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
$count = $count + mysqli_num_rows($u);
}
echo $count;
当我回显 ''.$count.''
时显示 11101101
。但我想总计 8 或 7 等。请问我的代码有什么问题。
我也试过 $count = mysqli_num_rows($u);
但结果是一样的。
我的代码:
$g = mysqli_query($dbh,"SELECT id FROM update WHERE from_id`='".$b."' OR `to_id`='".$session->id."'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($g)) {
$ids[]= $rows['id'];
}
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
$count = mysqli_affected_rows($dbh);
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
echo ''.$count.'';
}
你可以简单地使用
$count=$u->num_rows;
echo $count;
我认为您的问题只是格式错误。这里为什么要用''
?
尝试简单地写:
echo $count;
将总计数分配给这样的变量:
假设 mysqli_num_rows 需要查询结果 $u
作为参数。
$total = 0;
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
$count = mysqli_num_rows($u);
$count = ($count == "") ? 0 : $count;
$total = $total + $count;
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
}
echo $total;
您需要像这样稍微更改您的代码
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
echo mysqli_num_rows($u);
}
如果您需要在所有 foreach 语句之后回显,请使用此
$count=0;
foreach ( $ids as $id ){
$u = mysqli_query($dbh,"SELECT id FROM updateside WHERE `id`='".$id."' AND `view` = '0'") or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($u)) {
$nid= $rows['id'];
}
$count = $count + mysqli_num_rows($u);
}
echo $count;