mysqli_fetch_array将数据放入数组并存储在php变量中


mysqli_fetch_array data into array and store in php variables

我正在编写这个PHP代码,我想检索每个成员在每次游泳中的AVG时间和LAP时间。我想在检索到HTML之前先将数据存储到变量中。

在下面的代码中,我没有得到任何错误。仅获取笔划名称。非AVGLaps或LapsTime

$sql = "SELECT strokeType,AVG(totalLaps),AVG(totalSeconds) FROM performance where members_memberId = '$memberid' GROUP BY strokeType";
$result=mysqli_query($con,$sql);
$performanceData = array();
while($row = mysqli_fetch_array($result)) {
  $performanceData[] =$row;
}
$stroke1 = $performanceData[0]['strokeType'];
$stroke2 = $performanceData[1]['strokeType'];
$stroke3 = $performanceData[2]['strokeType'];
$stroke4 = $performanceData[3]['strokeType'];
$strokeLaps1 = $performanceData[0]['totalLaps'];
$strokeLaps2 = $performanceData[1]['totalLaps'];
$strokeLaps3 = $performanceData[2]['totalLaps'];
$strokeLaps4 = $performanceData[3]['totalLaps'];
$strokeTime1 = $performanceData[0]['totalTime'];
$strokeTime2 = $performanceData[1]['totalTime'];
$strokeTime3 = $performanceData[2]['totalTime'];
$strokeTime4 = $performanceData[3]['totalTime'];
echo "StrokeName:".$stroke1.".";

您应该在sql查询中声明一个别名:

$sql = "SELECT strokeType,AVG(totalLaps) AS avgTotalLaps,AVG(totalSeconds) AS avgTotalSeconds FROM performance where members_memberId = '$memberid' GROUP BY strokeType";

然后得到vars,比如:

$strokeLaps1 = $performanceData[0]['avgTotalLaps'];
...

如果要使用totalLaps和totalTime作为关联索引,则需要对SQL语句中的列进行别名。

SELECT strokeType, AVG(totalLaps) totalLaps, AVG(totalSeconds) totalTime