【问题标题】:How do I set a default query string in my URL?如何在我的 URL 中设置默认查询字符串?
【发布时间】:2013-08-17 19:26:36
【问题描述】:

我正在尝试构建一个 web 应用程序,它将根据用户当前的按钮选择和滑块选择来过滤结果,我将通过 PHP、SQL 和 AJAX 调用来实现这一点,但我需要帮助将正确的数据发送到我的 URL。

DB 下降 -

$pType = $_GET['s'];

$fPsiVal = '15000';
$fGpmVal = '10000';
$hPsiVal = '30000';
$hGpmVal = '10000';

$sql = "SELECT * FROM pumps 
        WHERE pump_type =  '$pType'
        AND flow_psi   <=  '$fPsiVal'
        AND flow_gpm   <=  '$fGpmVal'
        AND high_psi   <=  '$hPsiVal'
        AND high_gpm   <=  '$hGpmVal'";

我想为 pType 设置一个默认值 ?pType=CONTINUOUS 而不是静态变量,当最初调用页面时如何将它传递给我的 URL?

为了处理用户结果过滤,我使用 GET 方法创建了一个表单,据我所知,它应该在提交时将数据发送到 URL,但是没有任何反应,我不太确定我做错了什么

获取表单 -

 <form name="pumpCat" action="?s=<?php echo $pType ?>" method="get" align="center">
     <div class="btn-group" data-toggle="buttons-radio">
          <button type="submit" class="<?php if( $pType == 'intermittent' ){ echo 'active '; } else echo 'noClass '; ?>btn btn-primary waitingUiBut" id="but1" name="s" value="intermittent" action="pumpCat">INTERMITTENT</button>
          <button type="submit" class="<?php if( $pType == 'continuous' ){ echo 'active '; } else echo 'noClass '; ?>btn btn-primary waitingUiBut" id="but4" name="s" value="continuous"action="pumpCat">CONTINUOUS</button>  
      </div>
 </form>

任何指针将不胜感激。

【问题讨论】:

  • 您能否详细说明“我想为 pType 设置默认值 ?pType=CONTINUOUS 而不是静态变量”是什么意思?
  • 当页面最初加载时,URL 显示 testsite.com/page.php?然后,用户必须单击切换按钮以强制将 URL 更改为 testsite.com/page.php?p=XYZ。如果有意义的话,我想做的是让 testsite.com/page.php?p=XYZ 成为初始页面加载时的 URL?

标签: php javascript url url-rewriting web-deployment


【解决方案1】:

如果我正确理解您的目标,我会重新考虑您的应用结构。

你提到你想使用 AJAX,所以我将我的 SQL 查询放在一个单独的 PHP 文件中,然后使用 jQuery 将点击或滑块函数值发布到该文件,类似于:

jQuery

然后使用返回的值更新您的主 HTML 文件。

有一个基本的例子:

PHP MySQL AJAX

【讨论】:

    【解决方案2】:

    为了解决这个问题,我只是在导航栏链接上添加了一个查询字符串

    <li class=" animateNav <?php if ($pageCat == "Well Service"){ echo "active"; } ?>"><a id="link" href="wellservice.php?s=intermittent">WELL SERVICE</a></li>
    

    还修改了表单,使用 GET 更改按钮 onclick 事件的查询参数

                <form name="pumpType" action="?s=<?php echo $pType ?>" method="get" align="center">
                <div class="btn-group" data-toggle="buttons-radio">
                  <button type="submit" class="<?php if( $pType == 'intermittent' ){ echo 'active '; } ?>btn btn-primary waitingUiBut" id="but1" name="s" value="intermittent" action="pumpCat">INTERMITTENT</button>
                  <button type="submit" class="<?php if( $pType == 'continuous' ){ echo 'active '; } ?>btn btn-primary waitingUiBut" id="but4" name="s" value="continuous"action="pumpCat">CONTINUOUS</button>  
                </div>
            </form>
    

    【讨论】:

      【解决方案3】:

      您的action="?pType=" 似乎正确设置了默认值 但是,按钮中没有 'href' 属性。尝试使用带有适当 href 的 元素并使用它来提交表单。

      【讨论】:

      • 看看我的编辑,切换按钮现在可以按预期工作并执行正确的查询。但是,当我第一次访问该页面时,查询字符串是空白 testsite.com/page.php?我希望在哪里显示 testsite.com/page.php?p=XYZ。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      相关资源
      最近更新 更多