我在PHP电报API的机器人,我使用MySQL。每个用户都有一个表,用于存储id、名称等。我写了一段代码来发送用户数量,并选择每个用户的id与它建立链接,使用循环。我想知道如何同时遍历这些名字我需要另一个循环还是我应该使用MySQL代码?
$alltotal = mysqli_num_rows(mysqli_query($connect,"select id from user"));
$ids=array();
$idarray =mysqli_query($connect,"select id from user");
api('sendmessage',[
'chat_id'=>$chat_id,
'text'=>"total users : $alltotal: ",
]);
while($row= mysqli_fetch_array($idarray)){
$ids[]=$row['id'];
api('sendmessage',[
'parse_mode'=>'MarkdownV2',
'chat_id'=>$chat_id,
'text'=>"(tg://user?id=".$row[0].")",
]);
}
可以在一个查询中选择多个列。
同样,不要多次执行查询。您可以使用mysqli_num_rows($idarray)
来获取行数。
$idarray = mysqli_query($connect,"select id, name from user");
$alltotal = mysqli_num_rows($idarray);
api('sendmessage',[
'chat_id'=>$chat_id,
'text'=>"total users : $alltotal: ",
]);
$ids_and_names = [];
while($row= mysqli_fetch_assoc($idarray)){
$ids_and_names[] = $row;
api('sendmessage',[
'parse_mode'=>'MarkdownV2',
'chat_id'=>$chat_id,
'text'=>"(tg://user?id=".$row['id'].")",
]);
}