如何在$ row->变量的末尾添加变量Count?

问题描述 投票:-2回答:1

我们正在尝试通过我们的网站编码平台之一来简化生活。数据库中有8行,每行的末尾有1-4。

即childrensrange1,childrensrange2等。然后是childrennumber1,childrennumber2 ...

但是我不想创建大量代码,因此我已经开始编写此代码。但是我不知道如何将数字分配给$ row-> variable的末尾。

查看以下列开头的行:$ childrenamountrow我需要它来查询数据库的$ row-> childrenamount1,然后是$ row-> childrenamount2,依此类推。

我确定我之前已经做过,但是我不记得要怎么做。该块应该覆盖所有4个年龄段的块,而不是每组的代码。

$countchild = 1;
while ($countchild <=4)
  {
  echo "<tr><td><select name='childrensrange$countchild'>";
  $querychildren = ("SELECT * FROM `childrensagerange` ORDER BY id");
  $resultchildren = $pdo->query($querychildren); 
  while ($rowchildren = $resultchildren->fetch(PDO::FETCH_OBJ)) 
    { 
    $childrenrangerow = "$rowchildren->agerange"."$countchild";
    echo "<option value='$rowchildren->agerange'";
    if ($rowchildren->agerange == $childrenrangerow) { echo " selected='selected'";}
    echo ">$rowchildren->agerange</option>";
    }
echo "</td><td>";
$childrenamountrow = "$row->childrenamount$countchild";
echo "<input type='text' name='childrenamount$countchild' value='$childrenamountrow'></td></tr>";
  $countchild ++;
  }

echo "</table>```

php sql variables
1个回答
0
投票

似乎您正在寻找解析函数。语法取决于您的数据库。

对于Oracle:

    SELECT *,
      ROW_NUMBER() OVER (ORDER BY id) AS "Row Number"
      COUNT(gender) OVER (PARTITION BY gender) AS Total_by_gender,
      AVG(age) OVER (PARTITION BY gender) AS Average_Age_by_gender,
      SUM(total_score) OVER (PARTITION BY gender) AS Total_Score_by_gender
    FROM `childrensagerange` ORDER BY id

我对您的需求的猜测:

SELECT 
  COUNT(childrennumber1) OVER (PARTITION BY childrensrange1) AS Total_childrennumber1,
  COUNT(childrennumber2) OVER (PARTITION BY childrensrange2) AS Total_childrennumber2,
  COUNT(childrennumber3) OVER (PARTITION BY childrensrange3) AS Total_childrennumber3,
  COUNT(childrennumber4) OVER (PARTITION BY childrensrange4) AS Total_childrennumber4,
FROM `childrensagerange` ORDER BY id
© www.soinside.com 2019 - 2024. All rights reserved.