php foreach循环与mysql

Pullapooh

我正在尝试从数据库中检索数据。我需要三段数据:kaupunki_id,Opisto和pisteet_1。问题在于它们都在不同的表中。我的代码确实检索了正确的数据,但是它不是超级自动的。目前,变量$ t决定要选择的数据。

我的表结构:

表名:得分

在此处输入图片说明

表名称:教育机构

在此处输入图片说明

表名:城市

在此处输入图片说明

我需要什么:对于每个opisto(行),我需要获取匹配的pisteet_1(行)并计算点的平均值。然后<td>使用匹配的kaupunki_id(row)在中将其回

oppilaitokset表中,可以有多行具有相同的kaupinki_id(row) ID。

我的代码正在运行,但仅显示一个结果,但不是那么自动:

$keskiynnays = 0;
$kerto=0;
foreach ($db->query("SELECT kaupunki_id FROM pisteet") as $kaupunki_id) {
    foreach ($kaupunki_id as $kaikkinimet => $t) {
        $t= 1;
        foreach ($db->query("SELECT opisto FROM oppilaitokset WHERE kaupunki_id = '$t'") as $kaupungit) {
            foreach ($kaupungit as $kaupunki => $k) {
            }
        }
        foreach ($db->query("SELECT pisteet_1 FROM pisteet WHERE opisto_id = '$t'") as $keskiarvo1) {
            foreach ($keskiarvo1 as $loopkeskiarvo1 => $kes1) {
            }
            $kerto++;
            $keskiynnays +=$kes1;
            $keskiarvolaskettu1 = $keskiynnays / $kerto;
        }
    }       
}
echo "<td class=\"" . $t . "\">" . $k  . ": " . $keskiarvolaskettu1 . "</td>";
时报

如前所述,我将尝试进行SQL连接-像这样:

$query = "SELECT opisto As O, AVG(pisteet_1) As P, ka.kaupunki_id As K FROM ".
"oppilaitokset op ".
"LEFT JOIN pisteet pi ".
"ON op.id = pi.opisto_id ".
"LEFT JOIN kaupungit ka ".
"ON op.kaupunki_id = ka.kaupunki_id ".
"GROUP BY opisto, ka.kaupunki_id";

foreach ($db->query($query) as $row) {
    print $row['O'] . "<br>";
    print $row['P'] . "<br>";
    print $row['K'] . "<br>";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章