【问题标题】:Whats the best way to send multiple variables in a query string within a URL在 URL 中的查询字符串中发送多个变量的最佳方法是什么
【发布时间】:2010-06-15 18:47:45
【问题描述】:

我有一个客户想要创建一个包含产品代码的链接,以便他的客户点击仅显示这些产品的页面,以提高附属网站的转化率。

我的问题是在一个 URL 中发送这些多个产品的最佳方式是什么

例如:

http://www.mydomain.co.uk/bespoke-list.php?catNo=234-324-232-343

很明显,网站会从字符串中获取代码并显示它们......

我们将使用 PHP!

提前致谢。

【问题讨论】:

    标签: php string url variables


    【解决方案1】:

    您当然可以发送您所描述的内容,使用- 作为分隔符。查询字符串变量存储在 PHP 中的 $_GET 数组中,因此可以像这样访问您的示例编号:

    $ids = $_GET['catNo'];
    $ids = explode('-', $ids);
    foreach($ids as $id) {
      echo "<p>$id</p>"; //Do something with $id here.
    }
    

    另一种方法是将它们直接存储为查询字符串中的数组,如下所示:

    http://www.mydomain.co.uk/bespoke-list.php?id[]=234&id[]=324&id[]=232&id[]=343

    那么就可以不用explode直接获取id:

    $ids = $_GET['id'];
    foreach($ids as $id) {
      echo "<p>$id</p>"; //Do something with $id here.
    }
    

    但是当我看到它时,第一个肯定是一个更有吸引力的 URL。 :-)

    【讨论】:

    • 这就是我的想法 :) 关于有吸引力的 URL。也更容易交给客户,让他们理解。感谢您的意见。
    【解决方案2】:

    如果你想让 URL 看起来更好,你可以使用.htaccess 文件。

    【讨论】:

    • 当然,对于这项任务,虽然我们不关心 SEO 和它更快地编写产品代码,但有效点!
    【解决方案3】:

    我将为每个产品“catNo-”构造带有前缀的查询字符串,如下所示:

    catNo-1=234&catNo-2=324&catNo-3=232&catNo-4= 343

    解析上述查询字符串的php代码:

    <?php
    $catNoPrefix = "catNo-";
    foreach($_GET as $key => $value){
        if("FALSE" != strstr($key, $catNoPrefix )) {
            $idValue = $_GET[$key];
            echo "<p>$idValue</p>"; 
        }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-02
      • 2012-05-31
      • 2023-03-16
      • 2012-04-24
      • 1970-01-01
      • 2017-07-20
      • 2014-06-23
      • 2013-04-06
      相关资源
      最近更新 更多