我们正在尝试通过我们的网站编码平台之一来简化生活。数据库中有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>```
似乎您正在寻找解析函数。语法取决于您的数据库。
对于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