請求書 ID に基づいて請求書の詳細を取得する動的リンクがあります。
<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;
}
}
ただし、 にある include ステートメントは、コンテンツを完全に置き換えるのではなく、既存のページの下部に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