单击按钮时,重新加载页面/表单以刷新数据

时间:2013-06-14 17:59:35

标签: php drop-down-menu refresh reload

如何在PHP中重新加载页面或表单。

场景:我有两个具有相同设计/ gui的表单。我把它命名为main.php和process.php。 这两个页面都有下拉列表,相同的项目。下拉列表中的项目是“Net 1”和“Net 2”,“Net 1”下面的项目是“Bldg 1”,“Net 2”下面的项目是“Bldg 2”。所以在main.php中,当我点击提交时,它将进入process.php。然后process.php将在main.php的下拉列表中显示我选择的项目的项目。

我的问题是: 当用户想要查看“Net 2”下的项目时。我想要的是,在button_process.php的页面中只会重新加载或刷新数据,以便用户看到“Net 2”的项目,我该怎么办?

main.php的代码:

    <form action="process.php" method="post">
 Advertisement Name: <input type="text" name="adName" size="50"><br/><br/>
 Duration: <select id="duration"name="duration">
     <option value="5 s" >5 s</option>
         <option value="10 s" >10 s</option>
    <option value="15 s" >15 s</option>
    <option value="20 s" >20 s</option>
    <option value="30 s" >30 s</option>
    <option value="60 s" >60 s</option>
    </select><br/><br/>
    <b>Period</b>  <br/>
     From: <input type="text" id="datepickerfrom"name="from"> To: <input type="text" id="datepickerto"name="to">

    <span id="span_select">
        <select name="id">
            <option value="" >- select -</option>

            <?php
                include 'connect.php';

                $q = mysql_query("select fldNetname from tblnetwork");

                while ($row1 = mysql_fetch_array($q))
                {
                  echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";

                }
            ?>
        </select>
    </span>
    <input type="submit" name="pass" value="View Building/s">   
    </form>
Here's my Code for 

process.php: 编辑:

<form action="button_process.php" method="post">
echo "<div><input type='checkbox' class='checkall'> Check all</div>";
    $all = mysql_query("SELECT fldBldgName FROM tblbuildings");
    while ($row = mysql_fetch_array($all))
       {

       echo "<div><input type='checkbox' name='play[]' class='chk_boxes1' value='" . $row['fldBldgName']."'>";
       echo $row['fldBldgName'];"</div>";

       }


<input type="submit" name="pass" value="View Building/s">   
</form>

button_process.php的代码

<?php
include("connect.php");

switch ($_POST['pass']) {
      case 'View':
           //here I want to reload the page.
            break;


      case 'Save':
            echo "Add";
            break;
}

?>

2 个答案:

答案 0 :(得分:0)

如果重新加载页面需要用户操作,您将无法使用PHP重新加载页面,在这种情况下,您将不得不使用Javascript。

如果您想使用PHP重新加载页面,这将在页面加载时以及在输出任何html代码之前发生,您可以使用:

header('Location: '.$_SERVER['REQUEST_URI']);

如果要在用户执行操作后刷新页面,则需要在元素上使用javascript事件方法(例如,按钮上的onmple,onclick()),并且在方法中可以使用以下代码:

window.location.reload();

如果这还不足以回答您的问题,请提供有关您要执行的操作的详细信息。有一种比你正在做的更好的方法,有更多的细节,我们可以帮助你更多。

答案 1 :(得分:0)

在不同页面上设置扩展菜单的快速而肮脏的示例。首先构建菜单项,然后使用php脚本将父菜单项设置为active css样式,并让css样式给出正确的隐藏/显示样式。

HTML

<div class="menu">
    <div class="menuitem <?php echo $Page=="Net 1" ? "active" : "";?>">
        <span>Net 1</span>
        <div class="submenu">
            <div class="submenuitem">
                <span>Bldg 1</span>
            </div>
        </div>
    </div>
    </div> class="menuitem <?php echo $Page=="Net 2" ? "active" : "";?>">
        <span>Net 2</span>
        <div class="submenu">
            <div class="submenuitem">
                <span>Bldg 2</span>
            </div>
        </div>      
    </div>
</div>

CSS

.menuitem .submenu {
    display:none;
}

.menuitem.active .submenu {
    display:block;
}

其中$Page是一个php变量,它包含菜单项的名称,或者你想告诉你的脚本用户所在的菜单项。