在PHP中将特定行详细信息从数据库显示到PDF页面

时间:2017-07-29 13:41:29

标签: php mysql pdf

我有一个问题,我已经将行的所有详细信息检索到pdf页面,但问题是,当我点击它时,回显浏览器中的id而不是数据库中的特定id记录。

稍微更改一下,在点击的每个id按钮上显示mysql的第一行。

有时显示PDF页面上的所有记录。

示例:如果一个记录包含2页PDF页面,则显示为pdf页面中显示的所有行的10页。

当我更改Select * from students where id = '$id'之类的SQL查询时,会出现此错误。

  

(未定义的变量:C:\ xampp \ htdocs \ login中的id注册   第13行的system \ admin \ includes \ pdf \ index.php

请帮帮我。

从我称之为pdf页面的按钮:

<th scope="row"><a href="includes/pdf/index.php?action=select&id=<?php echo $id; ?>"  class="btn btn-success">Print</a></th>

现在是 PDF索引页

<?php
require('library/fpdf.php');
include("pconnect.php");

$sql = "SELECT * FROM students ";
$result = mysqli_query($con, $sql);

while($rows = mysqli_fetch_array($result))
{
  $pdf = new FPDF();
  $pdf->AddPage();
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Ln();
  $pdf->Ln();

  $pdf->Ln();

  $pdf->SetFont('times', 'B', 10);
  $pdf->Cell(30, 20, 'Name on Passport', 1, 0);
  $pdf->Cell(60, 10, $rows['firstname'], 1, 0, 'C');

  $pdf->SetX(40);
  $pdf->Cell(60, 10, $rows['lastname'], 1, 0, 'C');

  $pdf->Cell(30, 10, 'Nationality', 1, 0, 'C');
  $pdf->Cell(45, 10, $rows['nationality'], 1, 0, 'C');

  $pdf->SetX(85);
  $pdf->Cell(28, 10, 'Place of Birth', 1, 0);
  $pdf->Cell(42, 10, $rows['placeofbirth'], 1, 1, 'C');

  $pdf->Cell(30, 10, 'Date of Birth', 1, 0);
  $pdf->Cell(73, 10, $rows['dateofbirth'], 1, 0, 'C');
  $pdf->Cell(42, 10, $rows['gender'], 1, 0, 'C');

  $pdf->SetY(60);
  $pdf->SetX(155);
  $pdf->Cell(45, 40, $rows['Photo'], 1, 1, 'C');

  $pdf->Output();
}?>

1 个答案:

答案 0 :(得分:0)

非常感谢您的评论,我自己解决了这个问题。问题是我正在调用该操作,但在索引页面中没有任何操作。

if(($_GET['action'] == 'select') && isset($_GET['id'])) {

$id = $_GET['id'];
$sql = "Select * FROM students WHERE id = '$id'";
$query = mysqli_query($con, $sql);

$pdf=new FPDF();
$pdf->AddPage();
while($rows=mysqli_fetch_array($query))
   {

        $pdf->SetFont('Arial','B',10);
        $pdf->Ln();
        $pdf->Ln();
   }
   $pdf->Output();
  }