我有一个动态链接,它根据发票ID提取发票明细。php:动态链接将内容追加到现有页面而不是打开新页面
<a href='<?php echo $_SERVER['PHP_SELF']; ?>/retrieve?class=InvoiceLineItems&id=<?php echo $invoice['invoice_id']; ?>'><?php echo $invoice['invoice_number']; ?></a> <?php echo $invoice['customer_name'] ?> <?php echo $invoice['invoice_date'] ?>
它调用此函数
public function retrieve($class,
$id = NULL)
{
switch ($class) {
case 'Invoice':
$invoices = $this->invoice->getInvoices();
include 'view/invoiceList.php';
break;
case 'InvoiceLineItems':
$partnerInfo = $this->partnerInfo->getPartnerInfo($id);
$invoiceLineItems = $this->invoiceLineItems->getInvoiceLineItems($id);
include 'view/invoice.php';
break;
}
}
然而,包括case 'InvoiceLineItems:'
发现声明中追加的invoice.php
现有页面底部的内容,而不是完全取代它。我试着给锚点添加一个目标,但那不起作用。如何获得链接以打开新页面?
更新:基于@sixeightzero的建议,这里是调用retrieve();
if (isset($_REQUEST['id'])) {
// A request ID value indicates arrival here through link.
$this->retrieve('InvoiceLineItems',
$_REQUEST['id']);
}
此外,我尝试使用头重定向。
ob_start();
header('Location: /view/invoice.php', 302);
ob_end_flush();
exit();
它重定向,但我无法访问我的数组变量从
$invoiceLineItems = $this->invoiceLineItems->getInvoiceLineItems($id);
所以,我得到这样
Notice: Undefined variable: partnerInfo in C:\xampp\htdocs\bp\view\invoice.php on line 25
和
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\bp\view\invoice.php on line 25
您能否提供更多的代码,特别是您的switch语句之前的哪些输出? –
我的解决方案解决了您的问题吗? –
@SHAKIRSHABBIR我不知道,但。我整个星期都不在办公室。一旦我回到它,我会让你知道。感谢您的跟进。 –