FPDF with MySQL and PHP - Bringing repeated data

0

I'm trying to set up a generator system of Vouchers/Tickets

I have a table in SQL with the name Vouchers with multiple users and their respective passwords.

I call each cell the variable $serial_voucher and $senha_voucher

But it only shows the first line and applies to all Cell .

Thank you, I'm grateful if anyone can give me that strength.

<?php$con=mysqli_connect('localhost','root','');mysqli_select_db($con,'voucherss');$query=mysqli_query($con,"select *from vouchers");
            while($data=mysqli_fetch_array($query)){

//A4 WIDTH : 219MM


require ('pdf/fpdf.php');

$pdf = new Fpdf ('p','mm','A4');

$pdf->AddPage();
$pdf->Image("imagemfundo.jpg", 0,0,210,295);


$pdf->SetFont('Arial','','8');


$pdf->SetY( 20.3 );///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );   ///LADOS

    $pdf->Cell(0,10,$data['serial_voucher'],0,0,'L');   /////ESQUERDA 1

$pdf->SetY( 28.1);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );   ///LADOS

    $pdf->Cell(0,10,$data['senha_voucher'],0,0,'L');   /////ESQUERDA 1



$pdf->SetY( 20.3);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 177.8 );  ///LADOS

    $pdf->Cell( 0,10, $data['serial_voucher'], 0, 0, '' );    /////DIREITA 1

$pdf->SetY( 28.4); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 177.8 ); ///LADOS 

    $pdf->Cell( 0,10, $data['senha_voucher'], 0, 0, '' );     /////DIREITA 1


$pdf->SetY( 78.8 ); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['serial_voucher'],0,0,'L');   /////ESQUERDA 2

$pdf->SetY( 86.3); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['senha_voucher'],0,0,'L');   /////ESQUERDA 2



$pdf->SetY( 78.5); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 );  ///LADOS

    $pdf->Cell( 0,10, $data['serial_voucher'], 0, 0, '' );    /////DIREITA 2

$pdf->SetY( 86.3);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 ); ///LADOS

    $pdf->Cell( 0,10, $data['senha_voucher'], 0, 0, '' );     /////DIREITA 2    



$pdf->SetY( 136.5);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );   ///LADOS

    $pdf->Cell(0,10,$data['serial_voucher'],0,0,'L');   /////ESQUERDA 3

$pdf->SetY( 144.3);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );   ///LADOS

    $pdf->Cell(0,10,$data['senha_voucher'],0,0,'L');   /////ESQUERDA 3



$pdf->SetY( 136.5);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 177.8 );  ///LADOS

    $pdf->Cell( 0,10, $data['serial_voucher'], 0, 0, '' );    /////DIREITA 3

$pdf->SetY( 144.4); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 177.8 ); ///LADOS 

    $pdf->Cell( 0,10, $data['senha_voucher'], 0, 0, '' );     /////DIREITA 3




$pdf->SetY( 194.8 ); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['serial_voucher'],0,0,'L');   /////ESQUERDA 4

$pdf->SetY( 202.7); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['senha_voucher'],0,0,'L');   /////ESQUERDA 4



$pdf->SetY( 194.8); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 );  ///LADOS

    $pdf->Cell( 0,10, $data['serial_voucher'], 0, 0, '' );    /////DIREITA 4

$pdf->SetY( 202.7);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 ); ///LADOS

    $pdf->Cell( 0,10, $data['senha_voucher'], 0, 0, '' );     /////DIREITA 4




$pdf->SetY( 252.8 ); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['serial_voucher'],0,0,'L');   /////ESQUERDA 5

$pdf->SetY( 260.6); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 74 );  ///LADOS

    $pdf->Cell(0,10,$data['senha_voucher'],0,0,'L');   /////ESQUERDA 5



$pdf->SetY( 252.8); ///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 );  ///LADOS

    $pdf->Cell( 0,10, $data['serial_voucher'], 0, 0, '' );    /////DIREITA 5

$pdf->SetY( 260.6);///PRA CIMA OU PRA BAIXO
$pdf->SetX( 178 ); ///LADOS

    $pdf->Cell( 0,10, $data['senha_voucher'], 0, 0, '' );     /////DIREITA 5        





$pdf->Output();



    }?> 
    
asked by anonymous 11.11.2017 / 23:14

1 answer

0

I've given a code to your code, which I believe is more important than the result you're expecting, just make the changes as you need them, I think you can have easier ways to get the result. Below the working code:

require ('fpdf/fpdf.php');

$con = mysqli_connect('localhost','root','');
mysqli_select_db($con,'voucherss');

$pdf = new Fpdf ('p','mm','A4');
$pdf->SetAutoPageBreak(false);
$pdf->SetFont('Arial','','16');
$pdf->AddPage();

//////INICIA COM ESSAS DIMENSOES
$yincrementasenha = 28.5;
$yincrementaserial = 20.3;

$linhas = 6; // Máximo de linhas por página
$coluna = 1; // Contagem de colunas
$count_lines = 0; // Contagem de linhas na página

$query=mysqli_query($con,"select * from vouchers");

while($data=mysqli_fetch_array($query)){
    $serial = $data['serial_voucher'];
    $senha = $data['senha_voucher'];

    if ($coluna === 1){
        $pdf->SetY( $yincrementaserial ); # Define a posião para Cima ou para Baixo
        $pdf->Cell(95,10, $serial,0,0,'L'); # Conteúdo do lado Esquerdo
        $pdf->SetY( $yincrementasenha ); # Define a posião para Cima ou para Baixo
        $pdf->Cell(95,10, $senha,0,0,'L'); # Conteúdo do lado Esquerdo
        $coluna++; // Faz incremento na contagem de colunas
    } elseif ($coluna === 2) {
        $count_lines++; // Faz incremento na contagem de linhas
        $pdf->SetY( $yincrementaserial ); # Define a posião para Cima ou para Baixo
        $pdf->SetX( 110 ); # Define a posição para Esquerda ou para Direita
        $pdf->Cell(95,10, $serial,0,0,'L'); # Conteúdo do lado Direito
        $pdf->SetY( $yincrementasenha ); # Define a posião para Cima ou para Baixo
        $pdf->SetX( 110 ); # Define a posição para Esquerda ou para Direita
        $pdf->Cell(95,10, $senha,0,0,'L'); # Conteúdo do lado Direito
        $coluna = 1; //  Reset a contagem de colunas
        $yincrementaserial = $yincrementaserial+24.4;
        $yincrementasenha = $yincrementasenha+24.4;
    }
    /*
     * Condição para verifcar se o números de linhas na página atual
     * é maior que cinco, se for adiciona nova página e reset as variáveis
     */
    if ($count_lines > 5){
        $pdf->AddPage(); // Adiciona nova página
        // Reset as variáveis para seus valores iniciais
        $count_lines = 0;
        $yincrementasenha = 28.5;
        $yincrementaserial = 20.3;
    }
}
$pdf->Output();

Some screens of working code:

    
13.11.2017 / 14:09