通过 Bootstrap Modals PHP MySQL 创建搜索记录表单

Posted

技术标签:

【中文标题】通过 Bootstrap Modals PHP MySQL 创建搜索记录表单【英文标题】:Create a Search records form through Bootstrap Modals PHP MySQL 【发布时间】:2014-05-09 01:05:11 【问题描述】:

我正在 Boostrap 模态中构建一个表单,它有 3 个 INPUT 字段和每行一个 Submit 按钮。每个SubmitPOST 到另一个页面。然后我想要做的是使用变量将数据返回到一个表中,该表将显示该特定搜索的所有结果,即邮政编码、街道名称。在表格中,我有一个 SUBMIT 按钮,它将输出返回到我在主页上的主窗体中。

我正在努力的部分是将变量从INPUT(从我在jobdetailssearch.php 上使用的模态)到POST 获取到搜索页面(search.php)。一旦返回,我将在我的 jobdetails 页面 (jobdetails.php) 上的表单中显示所有结果

下面是我的 3 页代码。

jobdetailssearch.php

<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
<h4 class="modal-title">Search Projects</h4>
    </div>
    <div class="modal-body">    
<form class="modal-form" id="searchform" name="searchform" action="includes/search.php" method="post">
    <div class="form-group">
        <label class="col-md-4 control-label">Project Number</label>
        <div class="col-md-6">
            <input type="text" class="form-control input-inline input-medium" name="searchprojno" id="searchprojno" placeholder="Enter Project Number">
        </div>
        <button type="submit" class="btn blue" id="submitsearchprojno" name="submitsearchprojno" >Search &nbsp;<i class="m-icon-swapright m-icon-white"></i></button>
    </div>
    <div class="form-group">
        <label class="col-md-4 control-label">Address</label>
        <div class="col-md-6">
            <input type="text" class="form-control input-inline input-medium" name="searchaddress" id="searchaddress" placeholder="Enter Address">
        </div>
        <button type="submit" class="btn blue" id="submitsearchadd" name="submitsearchadd" >Search &nbsp;<i class="m-icon-swapright m-icon-white"></i></button>
    </div>
    <div class="form-group">
        <label class="col-md-4 control-label">Postcode</label>
        <div class="col-md-6">
            <input type="text" class="form-control input-inline input-medium" name="searchpostcode" id="searchpostcode" placeholder="Enter Postcode">
        </div>
        <button type="submit" class="btn blue" id="submitsearchpc" name="submitsearchpc" >Search &nbsp;<i class="m-icon-swapright m-icon-white"></i></button>
    </div>
    <div class="form-group">
        <div class="col-md-12">
            <div class="table-responsive">
                <table class="table table-striped table-bordered table-advance table-hover">
                    <thead>
                        <tr>
                            <th ><i class="fa fa-list-alt"></i> Address</th>                                                                   
                            <th ></th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td ></td>
                            <td ><a href="#" class="btn default btn-xs blue-stripe">Select Address</a></td>
                        </tr>                                                                   
                    </tbody>
                </table>
            </div>
        </div>
    </div>
    <div class="modal-footer right">
        <button type="button" data-dismiss="modal" class="btn default">Cancel</button>
        <!--<button type="submit" class="btn blue">Select</button>-->
    </div>
</form>
    </div>

搜索.php

<?php
 require '../core/cnn.php';
if(isset($_POST['submitsearchprojno'])) 
    $searchprojno = $_POST["searchprojno"];

if(isset($_POST['submitsearchadd'])) 
    $searchaddress = $_POST["searchaddress"];

if(isset($_POST['submitsearchpc'])) 
    $searchpostcode = $_POST["searchpostcode"];

$searchpostcode = mysql_real_escape_string($searchpostcode);
$searchaddress = mysql_real_escape_string($searchaddress);
$searchprojno = mysql_real_escape_string($searchprojno);

$searchrs = mysql_query("SELECT ProjectNo, CONCAT(COALESCE(HouseNoName, ''), ' ', COALESCE(StreetName, ''), ' ', 
                            COALESCE(TownOrCity, ''), ' ', COALESCE(Postcode, '')) AS Display,
                            PropID, AreaID, AWGMember, Householder, HouseNoName, StreetName, TownOrCity,
                            Postcode, ContactTelephone, AlternatePhone, Email, PropertyTenure, PropertyNotes
                        FROM prop_property
                        WHERE IsActive = 1
                            AND (Postcode = '".$searchpostcode."'
                                OR StreetName = '".$searchaddress."'
                                OR ProjectNo = '".$searchprojno."')
                        ") or die(mysql_error());
$checkrs = mysql_query("SELECT * FROM prop_property WHERE IsActive = 0");
    if(!mysql_num_rows($checkrs) > 0)  
        echo '<td> No record found!</td><td></td>'; 
    
        else 
            while ($results = mysql_fetch_array($searchrs)) 
            echo '
            <td>'.$results['Display'].'</td>
            <td>
                <form action="jobdetails.php" method="post">
                <input type="hidden" name="searchhouse" value=" '.$results['HouseNoName'].'" >
                <input type="hidden" name="searchstreet" value=" '.$results['StreetName'].'" >
                <input type="hidden" name="searchtown" value=" '.$results['TownOrCity'].'" >
                <input type="hidden" name="searchpostcode" value=" '.$results['Postcode'].'" >
                <input type="hidden" name="searchpropid" value=" '.$results['PropID'].'" >
                <input type="hidden" name="searchprojectno" value=" '.$results['ProjectNo'].'" >
                <button type="submit" class="btn default btn-xs blue-stripe" name="viewsearch">View Address</button>
            </form>
        </td>';
    

    ?>

模态打开良好,并以我想要的方式显示表单。我应该输入搜索条件并在表格中显示结果以供我选择并拉到jobdetails.php上的主表单的最佳方法是什么(我没有包括这个,因为它太大而且不确定它需要被看到)?

【问题讨论】:

【参考方案1】:

如果我理解您的问题,请告诉我,您的表单处于引导模式的模式视图中,并且您希望将表单中的数据发送到另一个页面,处理搜索,然后将您找到的数据返回到相同的模式并将其放入您的问题的 中?

好吧,如果是这样的话。看,我认为更简单的方法是使用 jquery,并将输入提交更改为输入按钮,因为我记不太清楚了,但是当您在模式内发送提交时,模式会关闭。确实如此?如果问题改变了按钮的提交。然后你必须为按钮创建一个函数 .click() 来捕捉事件点击,使用 .serialize() (如果你想检查你是否真的在接收数据,你可以做一个 die(var_dump( $_POST)); 在 php 中并用 firebug 或类似的东西在控制台中检查它。) 你得到你的

的数据,然后你必须用 .post() 将它发送到其他文件,在 php 中您接收数据,当您接收响应时,您可以使用 .html() 将其放入表中。

所以我想的代码应该是这样的,你可以改变它以使其成为你需要的,但这可以是基础:

查询代码:

$(document).ready(function()

    $("#yourButtonID").click(function()
          data = $("#yourFormID").serialize();
          $.post("yourPHPfileToSearch.php",data,function(dataReturn))
                $("#yourTableID").html(dataReturn);
          );
    );

);

如果您需要更多帮助,请告诉我。问候。祝你有美好的一天。

【讨论】:

以上是关于通过 Bootstrap Modals PHP MySQL 创建搜索记录表单的主要内容,如果未能解决你的问题,请参考以下文章

在 Bootstrap 中启动 Modals 时如何在文本框上进行 .focus()

Bootstrap Modals 关闭后继续向 body 添加 padding-right

如何在关闭 Bootstrap 3 模式时重新加载页面

Bootstrap 模式关闭按钮

Bootstrap模态框的使用

前端 写一个弹框