Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在codeigniter中查找数据库值的平均值和频率_Javascript_Php_Codeigniter - Fatal编程技术网

Javascript 如何在codeigniter中查找数据库值的平均值和频率

Javascript 如何在codeigniter中查找数据库值的平均值和频率,javascript,php,codeigniter,Javascript,Php,Codeigniter,我使用下面的代码来查找平均值和频率,但是直接指定值。我需要的是查找数据库值的平均值和频率。我使用codeigniter来完成这个项目,希望有人能帮助我。谢谢 <script> var numberArray=[5,5,1,1], thisTotal=0,thisMean=0; // add elements of array together for(var i=0;i<numberArray.length;i++) { thisTotal+=num

我使用下面的代码来查找平均值和频率,但是直接指定值。我需要的是查找数据库值的平均值和频率。我使用codeigniter来完成这个项目,希望有人能帮助我。谢谢

<script>
  var numberArray=[5,5,1,1], thisTotal=0,thisMean=0;
  // add elements of array together 
  for(var i=0;i<numberArray.length;i++)
  {
     thisTotal+=numberArray[i];}

     // calculate average  
     thisMean=(thisTotal/numberArray.length);
     thisFrequency=(numberArray.length);

     // display result 
     alert(thisMean);
     alert(thisFrequency);
</script>

var numberArray=[5,5,1,1],thisTotal=0,thisMean=0;
//将数组的元素添加到一起

对于(var i=0;i,可以在PHP中使用相同的逻辑

您可以使用数组(1,2,3,4)并使用for或foreach循环对其进行迭代

您可以使用
foreach($yourArray as$key=>$value)
所以在循环中使用$key as$i喜欢

PHP还提供本机数组_sum()函数,该函数对其中的所有值求和

<?php
$numberArray=array(5,5,1,1); // predefined array
$thisTotal=0;
$thisMean=0;

/*
 * Array from database assuming you have $mysqli object
 */
$sql = "SELECT col1, col2, col3 FROM table1";
$result = $mysqli->query($sql);
while ($row = $result->fetch_assoc()) {
    $arrayFromDataBase[] = $row;
}

/*
 * numberArray.length (count)
 * Since you use it three times, use the variable assigned to it
 * instead of typing each time numberArray.length /count($numberArray)/
 */
$thisFrequency=count($numberArray);  //change to count($arrayFromDataBase) in order to have array from db;
// the same logic
for ($i = 0; $i < $thisFrequency; $i++) {
    $thisTotal+=$numberArray[$i];
}
// If using associative fetching from database, you would really need foreach()
foreach ($numberArray as $key => $value) {
    $thisTotal+=$numberArray[$key]; 
}
/*
 * or a better logic
 * use one the three provided ways, depending on your needs
 */
$total = array_sum($numberArray);




$thisMean=($thisTotal/$thisFrequency);

echo $thisTotal . "<br />"; // echo $total will give the same result, array_sum() saves your entire loop
echo $thisMean . "<br />";
echo $thisFrequency . "<br />";
?>


阅读代码中的注释,因为如果你将其全部粘贴,它将不会给你期望的结果,所有方法都提供了,变量将有三个值。将其剪切以满足你的需要。

使用完全相同的逻辑,但使用PHP-从数据库中获取的值,你是否有一些示例代码请首先提供你在PHP中的尝试d如果它不起作用,我们将帮助它工作:)在此处发布您的表结构。请提供任何其他建议此建议的问题是什么:)$numberArray=array(5,5,1,1);您正在使用此号码Ray na Soy您尚未阅读我的所有代码和注释。我用了两个例子。一个预定义的数组和一个数据库数组。你可以使用你想要的,以及迭代的方法-我提供了一些。嗨,royal如何在codeigniter模型中给出以下mysql代码选择性别,求和(当利手='左手'然后1 ELSE 0 END时的情况)左手,求和(当利手='右手'然后1 ELSE 0 END时的情况)右手,计数(*)表1中按性别分组的总计(汇总)