Php 如何以url格式传递数据

Php 如何以url格式传递数据,php,url,hyperlink,Php,Url,Hyperlink,我目前正在制作一个表格,可以点击客户的电子邮件和电话号码。当您单击它时,它将重定向到另一个页面,并在该页面上执行筛选搜索 我想通过URL发送客户电子邮件或电话号码的数据,但似乎您只能键入精确的筛选搜索。我想当用户点击超链接时,它会通过URL发送点击的数据并执行过滤搜索 <?php foreach($checked_columns as $key=>$column){ if ($column){ if ($key == 'client_

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

我想通过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的最后一部分,以便它可以通过变量进行搜索。

可以对代码进行优化/重构,以利用变量数据

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,我想您会发现代码片段更容易阅读。

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

<a href="admin/sales/browse/confirmed-sale?fc=client_phone_number&fv=60192597698" class="style1">
而您希望输出变量。考虑在代码中已经有一个例子,说明如何从变量输出值:

<?= $sale['client_phone_number']; ?>
只需对URL应用相同的操作即可。唯一的补充是确保您,以防它有非URL友好字符。大概是这样的:

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

有多种方法可以重新组织代码,可以将HTML放入字符串并使用echo,也可以应用PHP模板引擎将内容与标记分离。你如何组织它实际上取决于个人喜好。但最简单的情况是,如果您想输出一个值,那么只需像以前一样输出该值。

看起来您已经在URL上发送了值。到底是什么不起作用?如果我理解的很好,你想要实现的是通过url发送用户的数据,并使用这些数据来过滤数据库,可能是为了获取更多信息或其他东西。是吗?Ohhh$sale包含来自表sales的客户名称、客户电子邮件、客户电话号码等数据@是的,但我不希望它只发送那种值。我想让它发送变量$key['client_email'中的值@David@Alif如果你的问题要求明确,我只能给你一个自信的答案$key['client_email']不起作用,因为$key是一个键,而不是一个包含具有client_email键的元素的数组。我没有很好地表达这个建议吗?