我目前正在创建一个可点击客户电子邮件地址和电话号码的表格。当您单击它时,它将重定向到另一个页面并在该页面上执行过滤器搜索。
我想通过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的最后一部分,以便它可以通过变量进行搜索。
答案 0 :(得分: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,我认为您会发现该片段更易于阅读。
答案 1 :(得分:0)
如果我对您的理解正确,当前您正在输出静态文本:
<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模板引擎将内容与标记分开。您如何组织它实际上取决于个人喜好。但是最简单的是,如果您要输出一个值,则只需像已经做的那样输出该值即可。