dye*_*926 2 php arrays foreach loops
我正在尝试运行脚本来获取特定组的成员ID.当我使用foreach循环时,它会返回两次结果,有时会遗漏数据库中的最后一个结果.
这是我的代码:
<?php
include_once("scripts/checkuserlog.php");
$squadid = "";
if (isset($_GET['pid'])){ $squadid = $_GET['pid'];};
$sqlName = "SELECT mem_id FROM team_members WHERE team_id='$squadid' AND is_member='1'" or die ("Sorry we had a mysql error!");
$queryName = mysqli_query($db_conx, $sqlName);
while($array = mysqli_fetch_array($queryName)){
foreach($array as $value){
echo "$value<br/>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
抛出的结果看起来像:
3
3
2
2
1
1
4
4
5
5
Run Code Online (Sandbox Code Playgroud)
显然每个成员只能有一个,因为每个成员只能加入一次.
我从来没有真正使用foreach循环之前没有100%肯定他们的工作,我已经做了一些研究语法,但无法解决我出错的地方.我只能假设我在两次打电话但不知道在哪里.
如果有人知道一个更好的方法来实现我需要的东西而不是foreach循环我都是耳朵
谢谢
请尝试使用mysqli_fetch_assoc,msqli_fetch_array返回数字键和字符串.
<?php
include_once("scripts/checkuserlog.php");
$squadid = "";
if (isset($_GET['pid'])){ $squadid = $_GET['pid'];};
$sqlName = "SELECT mem_id FROM team_members WHERE team_id='$squadid' AND is_member='1'" or die ("Sorry we had a mysql error!");
$queryName = mysqli_query($db_conx, $sqlName);
while($array = mysqli_fetch_assoc($queryName)){
foreach($array as $value){
echo "$value<br/>";
}
}
?>
Run Code Online (Sandbox Code Playgroud)