【问题标题】:How to pass data in url format如何以url格式传递数据
【发布时间】:2019-07-11 20:50:54
【问题描述】:

我目前正在制作一个可以点击客户电子邮件和电话号码的表格。当您单击它时,它将重定向到另一个页面并在该页面上执行过滤搜索。

我想通过 URL 发送客户电子邮件或电话号码的数据,但您似乎只能输入确切的过滤器搜索。我希望当用户点击一个超链接时,它会通过 URL 发送点击的数据并执行过滤搜索。

<?php 
    foreach($checked_columns as $key=>$column){
        if ($column){
            if ($key == 'client_email'){?>
              <td>
                  <a href="admin/sales/browse/confirmed-sale?fc=client_email&fv=alif4arsenal97%40gmail.com" class="style1"><?= $sale['client_email']; ?></a>
              </td>
            <?php } elseif  ($key == 'client_phone_number') { ?>
              <td>
                <a href="admin/sales/browse/confirmed-sale?fc=client_phone_number&fv=60192597698" class="style1"><?= $sale['client_phone_number']; ?></a>
              </td>
            <?php } else {?>
                <td><?= $sale[$key]; ?></td>
            <?php } 
        }
    }
?>

如何更改 URL 的最后一部分,以便它可以通过变量搜索它。

【问题讨论】:

  • 看起来您已经在 URL 上发送值了。究竟是什么不工作?
  • 如果我让你好了,你想要实现的是通过 url 发送用户的数据,并使用该数据来过滤数据库,以获取更多信息或其他内容。是这样吗?
  • ohhhh $sale 包含来自表 sales 的 client_name、client_emails、client_phone_number 的数据。 @mickmackusa
  • 是的,但我不希望它只发送那种值。我希望它发送变量 $key['client_email'] @David 中的值

标签: php url hyperlink


【解决方案1】:

您的代码可以被细化/重构以利用可变数据。

foreach ($checked_columns as $key => $column) {
    if ($column) {
        echo "<td>";
            if (in_array($key, ['client_email', 'client_phone_number'])) {
                echo "<a href=\"admin/sales/browse/confirmed-sale?fc={$key}&fv=" , urlencode($sale[$key]) , "\" class=\"style1\">{$sale[$key]}</a>";
            } else {
                echo $sale[$key];
            }
        echo "</td>";
    }
}

$key 值看起来不需要进行编码以插入 url,但电子邮件似乎是一个不错的候选者。

通过“留在”php,我想你会发现 sn-p 更容易阅读。

【讨论】:

  • @Alif 如果您的问题要求明确,我只能为您提供自信的答案。 $key['client_email'] 不起作用,因为 $key 是一个键,而不是包含键为 client_email 的元素的数组。
【解决方案2】:

如果我理解正确,目前您正在输出静态文本:

<a href="admin/sales/browse/confirmed-sale?fc=client_phone_number&fv=60192597698" class="style1">

而你想输出变量。考虑到您的代码中已经有一个如何从变量输出值的示例:

<?= $sale['client_phone_number']; ?>

只需对您的网址应用相同的操作即可。唯一的补充是确保您URL-encode the value,以防它包含非 URL 友好的字符。像这样的:

<a href="admin/sales/browse/confirmed-sale?fc=client_phone_number&fv=<?= urlencode($sale['client_phone_number']); ?>" class="style1">

您可以通过多种方式重新组织代码,例如将 HTML 放入字符串并使用 echo 或者应用 PHP 模板引擎将内容与标记分开。你如何组织它真的取决于个人喜好。但在最简单的情况下,如果你想输出一个值,那么只需像你已经做的那样输出这个值。

【讨论】:

  • 我是不是表达得不够好?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 2021-11-11
相关资源
最近更新 更多