0

だから私はどの送信ボタンがクリックされたかに基づいてSQLクエリをソートしようとしています

マイソートオプション:

echo "<form method='post' action adminview.php'>"
    ."<input type='submit' name='sort' value='Sort by Attempt ID'/><br />"
    ."<input type='submit' name='sort' value='Sort by Student ID'/><br />"
    ."<input type='submit' name='sort' value='Sort by lowest Score'/><br />"
    ."<input type='submit' name='sort' value='Sort by highest Score'/><br />"
    ."</form>";

そして、ページがリロードされたときに、どのボタンがクリックされたかを確認するコードがここにあります

switch($_POST['sort'])
{
    case "Sort by Attempt ID":
        $sortby = "attempt_id";
        break;
    case "Sort by Student ID":
        $sortby = "student_id";
        break;
    case "Sort by lowest Score":
        $sortby = "score";
        break;
    case "Sort by highest Score":
        $sortby = "score desc";
        break;
}

私の問題は、ページをリロードすると、並べ替えが未定義であると表示されることです。

興味があれば、ここに SQL ステートメントがあります

$sqlstring = "select * from quizattempts order by '$sortby'";
4

3 に答える 3

0

これを試してみませんか?

<?php 
      echo "<form method='post' action='adminview.php'>"
           ."<input type='submit' name='sort' value='Sort by Attempt ID'/><br />"
           ."<input type='submit' name='sort' value='Sort by Student ID'/><br />"
           ."<input type='submit' name='sort' value='Sort by lowest Score'/><br />"
           ."<input type='submit' name='sort' value='Sort by highest Score'/><br />"
          ."</form>";

        if(isset($_POST['sort'])){

            switch($_POST['sort'])
            {
                case "Sort by Attempt ID":
                    $sortby = "attempt_id";
                    break;
                case "Sort by Student ID":
                    $sortby = "student_id";
                    break;
                case "Sort by lowest Score":
                    $sortby = "score";
                    break;
                case "Sort by highest Score":
                    $sortby = "score desc";
                    break;
            }

            $OrderBy = "order by $sortby ";
        }

         echo $sqlstring = "select * from quizattempts $OrderBy";
于 2013-11-03T06:22:37.233 に答える