为什么我的PHP代码中没有填充$ condition,为什么我不能提取表单数据?

时间:2018-11-26 20:13:51

标签: php html sql phpmyadmin

大家!我正在制作一个包含完全下拉可选菜单的表单,用户将在其中填充字段。按下提交表单后,我计划将信息从数据库中提取出来,以向用户显示搜索结果。我对SQL和PHP有点陌生,所以任何帮助将不胜感激!我分别附加了表单和PHP代码。

            <form autocomplete="on" class="form-horizontal" action="" enctype="multipart/form-data" method="POST" name= "unit_assignments">
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="course_designation" class="col-lg-4 control-label">Course</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="course_designation" id="course_designation">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="_105">105</option>
                                    <option value="_105i">105i</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="year" class="col-lg-4 control-label">Year</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="year" id="year">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="_2018">2018</option>
                                    <option value="_2017">2017</option>
                                    <option value="_2016">2016</option>
                                    <option value="_2015">2015</option>
                                    <option value="_2014">2014</option>
                                    <option value="_2013">2013</option>
                                    <option value="_2012">2012</option>
                                    <option value="_2011">2011</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="semester" class="col-lg-4 control-label">Semester</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="semester" id="semester">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="fall">Fall</option>
                                    <option value="spring">Spring</option>
                                    <option value="summer">Summer</option>
                                    <option value="maymester">Maymester</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="discipline" class="col-lg-4 control-label">Discipline</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="discipline" id="discipline">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="nat_sciences">Natural Sciences</option>
                                    <option value="health_medicine">Health Medicine</option>
                                    <option value="social_sciences">Social Sciences</option>
                                    <option value="humanities">Humanities</option>
                                    <option value="digital_humanities">Digital Humanities</option>
                                    <option value="law">Law</option>
                                    <option value="business">Business</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="digital_literacy" class="col-lg-4 control-label">Type</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="digital_literacy" id="digital_literacy">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="podcast">Podcast</option>
                                    <option value="video">Video</option>
                                    <option value="webpage">Webpage</option>
                                    <option value="sparks">Sparks</option>
                                    <option value="illustrator">Illustrator</option>
                                    <option value="in_design">In Design</option>
                                    <option value="canvas">Canvas</option>
                                    <option value="pitochart">Pitochart</option>
                                    <option value="power_point">Power Point</option>
                                    <option value="spreadsheet">Spreadsheet</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="genre" class="col-lg-4 control-label">Genre</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="genre" id="genre">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="book_review">Book Review</option>
                                    <option value="film_review">Film Review</option>
                                    <option value="play_review">Play Review</option>
                                    <option value="literature_review">Literature Review</option>
                                    <option value="peer_reviewed_journal_articles">Peer Reviewed Journal Article</option>
                                    <option value="conference_paper">Conference Paper</option>
                                    <option value="conference_presentation">Conference Presentation</option>
                                    <option value="grant_proposal">Grant Proposal</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <h4></h4>
                    <div class="panel panel-default background-light padded">
                        <div class="form-group">
                            <label for="method" class="col-lg-4 control-label">Method</label>
                            <div class="col-lg-8">
                                <select type="hidden" class="form-control" name="method" id="method">
                                    <option value="" selected disabled>Please Select</option>
                                    <option value="archival_research">Archival Research</option>
                                    <option value="textual_analysis">Textual Analysis</option>
                                    <option value="rhetorical_analysis">Rhetorical Analysis</option>
                                    <option value="reviewing_the_literature">Reviewing the Literature</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </div>

                <center>
                    <div class="col-sm-4">
                        <h4></h4>
                        <div class="panel panel-default background-light padded">
                            <center>
                                <input class="btn btn-primary btn-block" type="submit" value="submit">
                                </center>
                            </div>
                        </div>
                    </center>
                </form>

这是代码的PHP部分。该页面只会继续为条件返回一个空数字,并且仅打印出“ SELECT * FROM unit_assignments”。它永远不会执行其余的代码,我想知道这是因为我的PHP代码错误还是我的表单代码。我的页面确实连接到数据库,所以我不认为有任何数据库错误。我尝试了各种编写PHP代码的方法,但无济于事,这让我相信PHP代码和形式可能都没有。'' t正在连接。

    <?php

 // define the list of fields
                        $fields = array('course_designation', 'year', 'discipline', 'digital_literacy', 'genre', 'method');


                        $conditions = array();
                        // loop through the defined fields
                        foreach($fields as $field){
                            // if the field is set and not empty

                                    if(!empty($_POST[$field])) {
                                // create a new condition while escaping the value inputed by the user (SQL Injection)
                                $conditions[] = "`$field` LIKE '%" . mysqli_real_escape_string($_POST[$field]) . "%'";
                            }
                        }
                //  }
                        // builds the query
                        $query = "SELECT * FROM unit_assignments ";

                        echo count($conditions);

                        // if there are conditions defined
                        if(count($conditions) > 0) {
                            // append the conditions
                            $query .= "WHERE " . implode (' AND ', $conditions); // you can change to 'OR', but I suggest to apply the filters cumulative
                        }

                            echo "$query";

                        $result = mysqli_query($mysqli_link, $query);


                        mysqli_close($mysqli_link);

                            if(isset($_POST['submit'])) {
                                while($row = mysqli_fetch_array($result)) {
                                $course_designation = $row['course_designation'];
                                $year = $row['year'];
                                $discipline = $row['discipline'];
                                $digital_literacy = $row['digital_literacy'];
                                $genre = $row['genre'];
                                $method = $row['method'];

                        echo "Course: $course_designation<br>Year: $year<br>Discipline: $discipline<br>digital_literacy: $digital_literacy<br>Genre: $genre<br>Method: $method<br>";
                            }
                            }


                                ?>

0 个答案:

没有答案