You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用变量替换PHP代码中重复的文件名引用?

如何在HTML的href属性中使用PHP变量替换重复的文件名?

你只需要在HTML的href属性中嵌入PHP代码输出$filename变量,就能替换掉所有硬编码的"joey_all"。

基础替换方法

将每个href中的joey_all替换为<?php echo $filename; ?>,示例如下:

原代码片段:

<a href="joey_all.php?column=status&amp;order=<?php echo $asc_or_desc; ?>">Status<i class="fas fa-sort<?php echo $column == 'status' ? '-' . $up_or_down : ''; ?>"></i></a>

修改后:

<a href="<?php echo $filename; ?>.php?column=status&amp;order=<?php echo $asc_or_desc; ?>">Status<i class="fas fa-sort<?php echo $column == 'status' ? '-' . $up_or_down : ''; ?>"></i></a>

按照这个方式替换所有表头的href属性即可,后续修改文件名时只需调整$filename变量的值,无需逐个修改每个链接。

进一步优化:用循环消除重复代码

你的代码存在大量重复的表头和表格行结构,建议将列信息定义为数组,通过PHP循环生成内容,进一步降低维护成本:

  1. 先定义列信息数组(放在PHP代码段中):
$filename = "joey_all";
$columns = [
    'status' => 'Status',
    'ordered_by' => 'Ordered By',
    'order_date' => 'Order Date',
    'cart_number' => 'Cart Number',
    'po_cc' => 'PO',
    'vendor' => 'Vendor',
    'item_number' => 'Item#',
    'description' => 'Description',
    'take_to' => 'Take To',
    'final_location' => 'Final Location',
    'received_special_notes' => 'Receiving Instructions',
    'received_by' => 'Received By',
    'date_received' => 'Date Received',
    'carrier' => 'Carrier',
    'confirmed' => 'Ariba Confirmed',
    'capital_eq' => 'Capital EQ'
];
  1. 循环生成表头:
<tr>
    <?php foreach ($columns as $colName => $displayName): ?>
        <th>
            <a href="<?php echo $filename; ?>.php?column=<?php echo $colName; ?>&amp;order=<?php echo $asc_or_desc; ?>">
                <?php echo $displayName; ?>
                <i class="fas fa-sort<?php echo $column == $colName ? '-' . $up_or_down : ''; ?>"></i>
            </a>
        </th>
    <?php endforeach; ?>
</tr>
  1. 循环生成表格内容:
<?php while ($row = $result->fetch_assoc()): ?>
<tr>
    <?php foreach ($columns as $colName => $displayName): ?>
        <td<?php echo $column == $colName ? $add_class : ''; ?>>
            <?php echo $row[$colName]; ?>
        </td>
    <?php endforeach; ?>
</tr>
<?php endwhile; ?>

这样修改后,不仅文件名只需维护一个变量,后续新增、删除或修改列时,只需调整$columns数组,无需重复修改大量HTML代码,复制文件后也能快速适配新的需求。

内容的提问来源于stack exchange,提问作者Jozef Xie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:22:01