0

私の質問は、なぜ $aantalkeermenu が表示されないのかということです。しかし、それはクエリからの他の変数であることを示しています。

これは私のクエリです:

$sql = "SELECT res.reserveringsnr, res.datum, menr.reserveringsnr, menr.menunr, SUM(menr.aantalkeermenu), men.menunr, men.menunaam, men.voorgerecht, men.hoofdgerecht, men.nagerecht  FROM reserveringen AS res
                INNER JOIN menus_regel as menr
                ON res.reserveringsnr = menr.reserveringsnr
                INNER JOIN menus AS men
                ON menr.menunr = men.menunr
                WHERE res.datum = '".$invoerdatum."'
                GROUP BY menr.menunr 
                ";

これが私のウェブページに表示されます:

        $result = mysql_query($sql);

        echo "<table>";
        echo "<th>Aantal</th> <th> Menunaam </th><th> Voorgerecht </th> <th> Hoofdgerecht </th> <th> Nagerecht </th>";

        while($row = mysql_fetch_assoc($result)) {
            $datum = $row['datum'];
            $aantalkeermenu = $row['aantalkeermenu'];
            $menunr = $row['menunr'];
            $menunaam = $row['menunaam'];
            $voorgerecht = $row['voorgerecht'];
            $hoofdgerecht = $row['hoofdgerecht'];
            $nagerecht = $row['nagerecht'];
            $aantalkeermenu = $row['aantalkeermenu'];


        // open tr
        echo "<tr id='$menunr' class='edit_tr'>";
        echo "<td><span>$menunr</span></td>";           
        echo "<td><span>$aantalkeermenu</span></td>"; 
        echo "<td><span>$menunaam</span></td>"; 
        echo "<td><span>$voorgerecht</span></td>"; 
        echo "<td><span>$hoofdgerecht</span></td>"; 
        echo "<td><span>$nagerecht</span></td>"; 



        echo "</tr>"; 
        // close tr
        }           
        echo "</table>";
4

2 に答える 2

1

あなたが

select ... SUM(menr.aantalkeermenu)

結果の列は呼び出されませんaantalkeermenu。このように、列に明示的に名前を付ける必要があります

select ... SUM(menr.aantalkeermenu) as aantalkeermenu

結果の行のその名前の下に表示されます。

于 2013-01-09T10:41:53.637 に答える
1

別の方法でエイリアスを作成する必要があります。SUM(menr.aantalkeermenu)次のように返されると思いますSUM(menr.aantalkeermenu)

次の SQL が役に立ちます。

$sql = "
SELECT res.reserveringsnr, res.datum, menr.reserveringsnr, menr.menunr,
SUM(menr.aantalkeermenu) AS aantalkeermenu, men.menunr, men.menunaam, men.voorgerecht,
men.hoofdgerecht, men.nagerecht 
FROM reserveringen AS res
INNER JOIN menus_regel as menr
ON res.reserveringsnr = menr.reserveringsnr
INNER JOIN menus AS men
ON menr.menunr = men.menunr
WHERE res.datum = '".$invoerdatum."'
GROUP BY menr.menunr";
于 2013-01-09T10:42:17.467 に答える