如何在php / msql中传递行id来查询单行

时间:2018-04-12 15:08:24

标签: php mysql fpdf

我有一个问题,查询我的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而不是打印整个表。请帮忙。

谢谢你们。

1 个答案:

答案 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">