2013-06-14 7 views
0

Как перезагрузить страницу или форму на PHP.Обновить страницу/форму для обновления данных при нажатии кнопки

Сценарий: У меня две формы с одинаковым дизайном/gui. Я назвал его main.php и process.php. На обеих страницах также есть раскрывающийся список, те же элементы. Элементами в раскрывающемся списке являются «Net 1» и «Net 2», а под «Net 1» - «Bldg 1», а для «Net 2» - «Bldg 2». Поэтому в main.php, когда я нажимаю кнопку submit, он перейдет к 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: EDIT:

<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; 
} 

?> 
+0

Почему вы делаете форму отправки, чтобы просто показать пункт меню? –

+0

@Patrick Evans, сначала я передаю его на следующую страницу, чтобы загрузить под предметы. Во-вторых, я не знаю, как загрузить его на одной странице. –

ответ

0

Если перезагрузка страницы требует от пользователя action, вы не сможете использовать PHP для перезагрузки страницы, в этом случае вам придется использовать Javascri пт.

Если вы хотите, чтобы перезагрузить страницу с помощью PHP, который будет происходить в загрузке страницы и перед любым HTML-код, выводимые, вы можете использовать это:

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

Если вы хотите, чтобы обновить страницу по истечению пользователь выполнил действие, вам потребуется яваскрипт методы события на элементе (для Exemple, OnClick() на кнопке), и в методе вы можете использовать следующий код:

window.location.reload(); 

Если это ISN» t достаточно, чтобы ответить на ваш вопрос, просьба представить более подробную информацию о том, что вы хотите сделать. Есть лучший способ сделать это, чем то, что вы делаете, с более подробной информацией мы могли бы помочь вам больше.

+0

На самом деле это моя проблема с тех пор. Как я могу просмотреть элементы в сетке, когда пользователь что-то изменит в раскрывающемся списке. Сетка предназначена для отображения элементов, которые зависят от раскрывающегося списка. –

+0

Для этого вам нужно будет использовать Javascript, я предлагаю вам прочитать учебник по Javascript, в частности «DOM Manipulation». –

+0

Можете ли вы дать мне образцы кодов только для этого? –

0

Быстрый и грязный пример установки расширяющихся меню на разных страницах. Сначала создайте элементы меню, а затем используйте скрипт php, чтобы установить родительский пункт меню в стиле css active, и ваши стили css дадут правильные стили hide/show.

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 переменная, которая содержит имя вашего пункта меню или же вы хотите сказать сценарий, какой пункт меню пользователь включен.

+0

привет ... Uhm ... «net 2» и под этой «сетью 2» поступают из базы данных. –

+0

@patrick ... Я редактирую свой пост –

Смежные вопросы