如何使用 laravel 在 QR 码中存储多个数据

how to to store Multipale data in QR code using laravel

我正在研究 QR 码。我想存储(name ,fname ,address)。我想将这 3 个数据存储在 QR 码中。 但现在我只能存储一个数据。我无法添加其他 2。 如何解决这个问题?

QR 控制器

public function view_downlads($id)
{
    $view_qr = Student::where('student_certificate_approval','APPROVED')->find($id);
    $pdf = PDF::loadView('Admin.View_qr', compact('view_qr'))->setPaper('a4', 'landscape');
    return $pdf->stream('fileName' . '.pdf');
}

查看页面代码

<img height="115" width="115" src="data:image/png;base64,{{DNS2D::getBarcodePNG($view_qr->name,'QRCODE')}}" alt="barcode" />

该方法需要一个字符串作为参数。如果你的变量的所有三个属性都是字符串,你可以用一个点连接它们:

<img height="115" width="115" src="data:image/png;base64,{{ DNS2D::getBarcodePNG($view_qr->name.$view_qr->fname.$view_qr->address,'QRCODE') }}" alt="barcode" />

如果你想在每个数据之间留下一个space,只需在它们之间连接一个带有space的字符串:

<img height="115" width="115" src="data:image/png;base64,{{ DNS2D::getBarcodePNG($view_qr->name.' '.$view_qr->fname.' '.$view_qr->address,'QRCODE') }}" alt="barcode" />

您有多个值要存储在二维码中,例如姓名、姓名、地址等

所以所有这些信息都必须以可读的格式包含在 QR 码中,因此可以使用 JSON 来存储您的信息。

这是你必须做的:

//Your data goes here
$arrData = [
    'Name'  => $yourName,
    'Fname' => $yourFname,
    'Address' => $yourAddress,
    /* Add here all the data you need*/
];

//Json encode your data
$jsonData = json_encode($arrData);

使用$jsonData写入二维码。当您阅读二维码时,从 json 数据中检索数据:

//json decode the QR Code value 
$arrData = json_decode($readedQRCodeData, true);

届时$arrData

// array (
// 'Name' => 'yourname',
// 'Fname' => 'yourfname',
// 'Address'=>'yourAddress'
//)

那么你的 HTML 将是这样的:

<img height="115" width="115" src="data:image/png;base64,{{ DNS2D::getBarcodePNG($jsonData,'QRCODE') }}" alt="barcode" />