0

基本上在我的网页(fields.php)中,我有两个文本框(X 和 Y),一个提交按钮和 2 个 DIV 标签(DIV id="load" ,DIV id="result")。根据我们在文本框中提供的值,查询将从数据库中获取一些值并将其显示在 DIV id="load" 中。此外,我已将结果显示为链接(我只是将结果显示在锚标记之间)。所以我的问题来了,一旦我们点击 DIV id="load" 中的任何链接,查询应该在后台运行,它应该在 DIV id="result" 中显示一些类型的值(从数据库中获取) . 我想要的最重要的是,刷新/后退/前进按钮应该正常工作。 我的意思是,例如,假设我们在 DIV id="load" 中有 4 个链接,例如 wwww, xxxx, yyyy, zzzz。所以如果我点击链接 wwww,一些结果(由查询处理)应该显示在 DIV id="result" 中。所以现在,如果我点击 xxxx,结果应该会替换 wwww 的结果。另外,如果我按下返回按钮,我应该会在 DIV id="result" 中看到 wwww 的结果。

有人可以帮助我吗?任何人都可以提供示例代码。

这是我的代码:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>history plugin demo</title>
    </head>
    <body>
    <?php
        $x = ( !empty( $_REQUEST['X'] ) ? $_REQUEST['X'] : null );
        $y = ( !empty( $_REQUEST['Y'] ) ? $_REQUEST['Y'] : null );

    ?>
        Ajax load<BR>
            <form id="myForm" action='fields.php' method='GET' rel="history">
                X <BR>
                <input type="text" name="X" id="ix" value="<?=$x;?>"><BR> <BR>
                Y <BR>
                <input type="text" name="Y" id="iy" value="<?=$y;?>"> <BR> <BR>
                <input id="sub" type="submit" value="Search" align="centre"/>
            </form>
        <hr>
            <!-- here i am performing lot of database queries using php, but to show it to you, i have simplified the code!--> 
            <div id="load"><a href= "#")> <?php echo $x; ?> </a></div> <!-- so here whne i click on the link, i should pass the link as a text parameter to a  query  and display the result in div id= result IMPORTANT is : BACK AND REFRESH BUTTON SHOULD WORK AS NORMALLY !-->
            <div id="result"> </div>
        <hr>
    </body>
</html>
4

1 回答 1

0

由于您需要保持后退按钮正常工作,因此即使单击后退按钮,您也可以使用获取参数来显示结果。我建议您更改以下几行

<div id="load"><a href= "#")> <?php echo $x; ?> </a></div>
<div id="result"> </div>

<div id="load"><a href= "?link=<?php echo $x; ?>")> <?php echo $x; ?> </a></div>
<div id="result">
  <?php if (isset($_GET['link'])) {?>
  <!--do all the db related stuff here to fetch the link result-->
    <?php $link_clicked=$_GET['link'];?>
    <!--//this is my stuff-->
    <?php
      if ($link_clicked == 'link1') 
    echo "link1 results";
      else if ($link_clicked == 'link2')    
    echo "link2 results";
      else
    echo "no results";
    ?>
  <?php }?>
</div>

在结果 div 中,单击的链接是从 中获取的,$_GET并且可以从数据库中获取特定链接的结果。如果要在单击页面刷新按钮时清除结果 div,可以使用 javascript 重写浏览器查询字符串。希望这可以帮助 :)

于 2013-07-25T06:55:11.093 回答