gpt4 book ai didi

php - 使用列标题对查询结果进行排序

转载 作者:行者123 更新时间:2023-11-30 00:14:09 24 4
gpt4 key购买 nike

我有一个典型的 SQL 查询,它返回如下结果:

$result_acc_man = "SELECT * FROM mgap_management WHERE account_manager_id = '" . $_SESSION['account_manager_id'] . "' ORDER BY mgap_sales_pres";
$stmt = $pdo->prepare($result_acc_man);
$stmt->execute();
while($row_acc_man = $stmt->fetch(PDO::FETCH_ASSOC))
{
$salespres = $row_acc_man['mgap_sales_pres'];
$regvp = $row_acc_man['mgap_regional_vp'];
$areasales = $row_acc_man['mgap_area_sales_manager']
?>
<p class="asminfo"><span>Your ASM: <?php echo $areasales;?></span></p>
<p class="asminfo"><span >Your Regional VP: <?php echo $regvp; ?></span></p>
<p class="asminfo"><span >Your Sales President: <?php echo $salespres; ?></span></p>
<?php
}
?>

这是列标题

<div id="viewheadaccept">
<span class="namecustaccept1">ACCOUNT NAME </span>
<span class="custaccept">ACCOUNT TYPE</span>
<span class="recoverycustaccept">OPPORTUNITY SIZE</span>
</div>

我需要添加单击列名称并对数据进行排序的功能。除了使用包含排序的不同查询创建多个链接页面之外,是否有更简单的方法来实现此目的?

谢谢!

最佳答案

您可以提供一个参数来替换 mgap_sales_pres。因此,通过 url Stirng 发送 orderBy 参数。

为了安全起见,您需要转义该变量。通常不建议这样做,但由于准备好的语句无法将变量注入(inject)到 ORDER BY 子句中,因此这是目前唯一的选择。

例如mysql_real_escape_char($_GET['orderBy'])

或者,如果您真的很偏执,您可以使用 switch case 语句来检查验证列名称。

关于php - 使用列标题对查询结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com