我有一个问题,查询我的mysql表以获取单行,以便我可以使用fpdf库打印它。到目前为止,我可以查询并打印整个表格,但我无法根据行ID动态打印它。这是数据表设置;
<tr>
<td>'.$data["cardId"].'</td>
<td id="surname_'.$data["cardId"].'">'.$data["surname"].', '.$data["givenName"].'</td>
<td id="resAddress_'.$data["cardId"].'">'.$data["resAddress"].'</td>
<td id="resSuburb_'.$data["cardId"].'">'.$data["resSuburb"].'</td>
<td id="jobTitle_'.$data["cardId"].'">'.$data["jobTitle"].'</td>
<td>
<input type="button" onclick="viewORedit('.$data["cardId"].', \'edit\')" value="Edit / View" class="btn btn-primary">
</td>
<td>
<form method="get" action="invoice.php">
<input type="submit" value="Generate" name='.$data["cardId"].' class="btn btn-success">
</form>
</td>
<td>
<input type="button" onclick="deleteRow('.$data["cardId"].')" value="Delete" class="btn btn-danger">
</td>
</tr>
我使用Generate按钮来拉取和生成数据。这是我的SQL查询和pdf设置;
$pdf = new PDF('P', 'mm', 'A4');
$pdf->AliasNbPages('{pages}');
$pdf->AddPage();
$pdf->SetFont('Arial', '', 9);
$pdf->SetDrawColor(50,50,100);
$id = '.$data["cardId"].';
$query=mysqli_query($connection,
"SELECT
surname, otherSurname, givenName, jobTitle
FROM
cards, employment
WHERE
cards.cardId = '$id'");
while($data=mysqli_fetch_array($query)){
$pdf->Cell(40,5,$data['surname'], 1, 0);
$pdf->Cell(25,5,$data['otherSurname'], 1, 0);
$pdf->Cell(65,5,$data['givenName'], 1, 0);
$pdf->Cell(60,5,$data['jobTitle'], 1, 1);
}
$pdf->Output();
如果我删除了传递id,我将获得pdf中打印的所有记录。如果我添加id,我得不到任何结果(只有pdf格式)。但我想得到行ID,这样我就可以生成该行数据的pdf而不是打印整个表。请帮忙。
谢谢你们。
答案 0 :(得分:0)
如果id是数据库中的int而你使用单引号(''),它将返回错误整数,不需要引号。你可以尝试这样的事情。
"SELECT surname, otherSurname, givenName, jobTitle
FROM cards, employment
WHERE cards.cardId = ".$id."");
这个$ data [“cardId”] var需要在php标签中并像这样回显。
<input type="submit" value="Generate" name="<?php echo $data["cardId"];?>" class="btn btn-success">