0

ここにデモデモがあります

デモでは、評価を選択して送信し、生徒と質問のドロップダウン メニューが表示されたら、他の送信ボタンをクリックします。未定義の変数が表示されます。私がやろうとしているのは、Assessmentドロップダウンメニューから評価名、データ、時間をエコーすることです。しかし、これはどのように行うことができますか?

以下は関連するコードです:

   function PickSession() 
        {
            //ASSESSMENT DROP DOWN MENU:

            //Get data from database
            $sessionquery = "
                SELECT s.SessionId, SessionName, SessionDate, SessionTime, SessionActive, Complete
                FROM Session s
                INNER JOIN Session_Complete sc ON sc.SessionId = s.SessionId
                WHERE
                (Complete = ?)
                ORDER BY SessionName 
                ";
            $complete = 1;

            global $mysqli;
            $sessionqrystmt=$mysqli->prepare($sessionquery);
            // You only need to call bind_param once
            $sessionqrystmt->bind_param("i",$complete);//it doesn't recognse $userid
            // get result and assign variables (prefix with db)
            $sessionqrystmt->execute(); 
            $sessionqrystmt->bind_result($dbSessionId,$dbSessionName,$dbSessionDate,$dbSessionTime, $dbSessionActive, $dbComplete);
            $sessionqrystmt->store_result();

            ?>

            <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post"> 
                   <p>
                <strong>Asessments:</strong>
                <select name="session" id="sessionsDrop">
                    <option value="">Please Select</option>
                    <?php
                        while ( $sessionqrystmt->fetch() ) {
                            $sv = $dbSessionId;
                            if(isset($_POST["session"]) && $sv == $_POST["session"]) 
                                echo "<option selected='selected' value='$sv'>" . $dbSessionName . " - " . date('d-m-Y',strtotime($dbSessionDate)) . " - " . date('H:i',strtotime($dbSessionTime)) . "</option>" . PHP_EOL;
                            else
                                echo "<option value='$sv'>" . $dbSessionName . " - " . date('d-m-Y',strtotime($dbSessionDate)) . " - " . date('H:i',strtotime($dbSessionTime)) . "</option>" . PHP_EOL;
                        }
                    ?>
                </select>
                </p>
                <input id="sessionSubmit" type="submit" value="Submit Assessments" name="sessionSubmit" />
            </form>
        <?php
        }

    --------------------------------------------------------------------

        function SessionIsSubmitted()
        {
                if(isset($_POST["session"]) && empty($_POST["session"])) // We picked the "Please select" option
                { ?>

                        Please Select an Assessment

                <?php 
                    return false;
                }
            else if(!isset($_POST["session"]))
            {
                return false;
            }
            else // All is ok
            {
                return true;
            }
            return false;

        }

    --------------------------------------------------------------------

        function ShowAssessment()
        {   

        //STUDENT AND QUESTION DROP DOWN MENU GO HERE
        //button - name='answerSubmit' goes here

        }

    --------------------------------------------------------------------

        function StudentAnswersIsSubmitted()
        {

        if(!isset($_POST["answerSubmit"]))
            {
                return false;
            }
            else // All is ok
            {
                return true;
            }
            return false;

        }

    --------------------------------------------------------------------

        function StudentAnswers()
        {

        echo $dbSessionName . " - " . $dbSessionDate . " " . $dbSessionTime;

        }

        ?>

Below is functions structure:

    <?php


            PickSession(); // Show the thing to pick session
            if(SessionIsSubmitted()) // When session is picked
            {
              ShowAssessment(); // Show students and questions information
              if(StudentAnswersIsSubmitted()) // Student Answers button is submitted
                {
                  StudentAnswers();
                }

            }



    ?>
4

1 に答える 1

0

配列変数を入れて、選択した1つの要素を出力することはできません$dbSessionName。すべての評価がこの配列に格納されており、配列変数を配置して、選択した評価を出力する必要があります。選択された配列の要素のみを出力してみてください。このようにしてください:

<select name="session[]" id="sessionsDrop">
if (isset($_POST['Submit']) == 1) {

    $session_name = $_POST['session'];
        echo $session;
    }
于 2013-01-31T04:51:37.687 に答える