Estoy generando un PDF con FPDF en el que se muestran todos los partidos que tiene un árbitro en una jornada. Pues bien, al añadir la jornada a lo que ya tenía de otros temas anteriores sigue funcionando todo bien pero hay un pequeño gran problema, si un árbitro tiene un partido todo va bien pero si tiene más partidos me imprime una página por cada partido que tiene. No es que me imprima un partido distinto por página, si no que me imprime en cada página todos los partidos que tiene asignados.
Este es el código que tengo ahora mismo.
Código PHP:
Ver original
$jornada=$_GET['jornada']; include"fpdf.php"; include"conexion.php"; class PDF extends FPDF{ global $sede, $localidad, $apellidos, $nombre; $this->Image('images/logo.jpg', 10, 5, 20); $this->SetFont('Arial', 'B', 15); $this->Cell(180); $this->Ln(10); $this->Cell(180); $this->SetFont('Arial', '', 12); $this->Ln(15); $this->SetFont('Arial', 'B', 22); $this->Cell(0,0,'',1); $this->Ln(1); } function Footer(){ $this->SetY(-15); $this->SetFont('Arial','I',8); $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } function fullUpper($localidad){ "à" => "À", "è" => "È", "ì" => "Ì", "ò" => "Ò", "ù" => "Ù", "á" => "Á", "é" => "É", "í" => "Í", "ó" => "Ó", "ú" => "Ú", "â" => "Â", "ê" => "Ê", "î" => "Î", "ô" => "Ô", "û" => "Û", "ç" => "Ç", )); } $pdf=new PDF('L','mm','A4'); $pdf->AliasNbPages(); $sql=new mysqli($servidor, $usuario, $clave, $basedatos); $sql->set_charset("latin1"); if($sql->connect_error){ echo "Error no ".$sql->connect_errno.": ".$sql->connect_error; } $r=$sql->query("SELECT COUNT(*) FROM EQUIPO_ARBITRAL"); while($row11=$r->fetch_array()){ $r1=$sql->query("SELECT Apellidos, Licencia FROM EQUIPO_ARBITRAL"); while($row12=$r1->fetch_array()){ $apellidos=$row12["Apellidos"]; $licencia=$row12["Licencia"]; $res=$sql->query("SELECT DISTINCT Apellidos, P1.EquipoA AS 'a1',P2.EquipoA AS 'a2',P3.EquipoA AS 'a3',P4.EquipoA AS 'a4',P5.EquipoA AS 'a5',P6.EquipoA AS 'a6', EQUIPO_ARBITRAL.Nombre ArbNom, LOCALIDAD.Nombre LocNom, SEDE.Codigo_sede FROM EQUIPO_ARBITRAL INNER JOIN LOCALIDAD ON EQUIPO_ARBITRAL.Cod_localidad=LOCALIDAD.Codigo_localidad INNER JOIN SEDE ON LOCALIDAD.Codigo_sede=SEDE.Codigo_sede LEFT JOIN PARTIDO P1 ON EQUIPO_ARBITRAL.Codigo_arbitro=P1.ArbPrin LEFT JOIN PARTIDO P2 ON EQUIPO_ARBITRAL.Codigo_arbitro=P2.ArbAux LEFT JOIN PARTIDO P3 ON EQUIPO_ARBITRAL.Codigo_arbitro=P3.Anotador LEFT JOIN PARTIDO P4 ON EQUIPO_ARBITRAL.Codigo_arbitro=P4.Crono LEFT JOIN PARTIDO P5 ON EQUIPO_ARBITRAL.Codigo_arbitro=P5.Op24 LEFT JOIN PARTIDO P6 ON EQUIPO_ARBITRAL.Codigo_arbitro=P6.Coche WHERE Apellidos LIKE '%$apellidos%' AND Licencia='$licencia' AND (P1.Jornada=$jornada OR P2.Jornada=$jornada OR P3.Jornada=$jornada OR P4.Jornada=$jornada OR P5.Jornada=$jornada OR P6.Jornada=$jornada)"); while($row=$res->fetch_array()){ $sede=$row["Codigo_sede"]; $localidad=$row["LocNom"]; $apellidos=$row["Apellidos"]; $nombre=$row["ArbNom"]; $a1=$row["a1"]; $a2=$row["a2"]; $a3=$row["a3"]; $a4=$row["a4"]; $a5=$row["a5"]; $a6=$row["a6"]; switch($localidad){ case 'Alhaurín de la Torre': $localidad='ALT'; break; case 'Alhaurín el Grande': $localidad='ALG'; break; case 'Málaga': $sede=''; break; } $localidad=fullUpper($localidad); if($a1!=null or $a2!=null or $a3!=null or $a4!=null or $a5!=null or $a6!=null){ $pdf->AddPage(); $mysqli=new mysqli($servidor, $usuario, $clave, $basedatos); $mysqli->set_charset("latin1"); if($mysqli->connect_error){ echo "Error no ".$mysqli->connect_errno.": ".$mysqli->connect_error; } $result=$mysqli->query("SELECT DISTINCT E1.Nombre EquipoA, E2.Nombre EquipoB, DATE_FORMAT(Fecha, '%d/%m/%Y') AS 'Fecha', TIME_FORMAT(Hora, '%H:%i') AS 'Hora', Abreviatura, Tipo, LOCALIDAD.Nombre Localidad, PA.Nombre Pista, PA.Codigo_pabellon, CONCAT(A1.Licencia, ' ', A1.Apellidos,', ', A1.Nombre) ArbPrin, CONCAT(A2.Licencia, ' ', A2.Apellidos,', ', A2.Nombre) ArbAux, CONCAT(A3.Licencia, ' ', A3.Apellidos,', ', A3.Nombre) Anotador, CONCAT(A4.Licencia, ' ', A4.Apellidos,', ', A4.Nombre) Crono, CONCAT(A5.Licencia, ' ', A5.Apellidos,', ', A5.Nombre) Op24, CONCAT(A6.Licencia, ' ', A6.Apellidos,', ', A6.Nombre) Coche FROM PARTIDO P INNER JOIN EQUIPO E1 ON P.EquipoA=E1.Codigo_equipo INNER JOIN EQUIPO E2 ON P.EquipoB=E2.Codigo_equipo INNER JOIN PABELLON PA ON P.Codigo_pabellon=PA.Codigo_pabellon INNER JOIN CATEGORIA ON P.Codigo_categoria=CATEGORIA.Codigo_categoria INNER JOIN LOCALIDAD ON PA.Codigo_localidad=LOCALIDAD.Codigo_localidad INNER JOIN SEDE ON LOCALIDAD.Codigo_sede=SEDE.Codigo_sede LEFT JOIN EQUIPO_ARBITRAL A1 ON A1.Codigo_arbitro=P.ArbPrin LEFT JOIN EQUIPO_ARBITRAL A2 ON A2.Codigo_arbitro=P.ArbAux LEFT JOIN EQUIPO_ARBITRAL A3 ON A3.Codigo_arbitro=P.Anotador LEFT JOIN EQUIPO_ARBITRAL A4 ON A4.Codigo_arbitro=P.Crono LEFT JOIN EQUIPO_ARBITRAL A5 ON A5.Codigo_arbitro=P.Op24 LEFT JOIN EQUIPO_ARBITRAL A6 ON A6.Codigo_arbitro=P.Coche WHERE Jornada=$jornada AND (A1.Apellidos LIKE '%$apellidos%' OR A2.Apellidos LIKE '%$apellidos%' OR A3.Apellidos LIKE '%$apellidos%' OR A4.Apellidos LIKE '%$apellidos%' OR A5.Apellidos LIKE '%$apellidos%' OR A6.Apellidos LIKE '%$apellidos%') ORDER BY Fecha, Hora"); $pdf->SetFont('Arial', 'B', 12); $pdf->Cell(165); $pdf->Cell(60,10, 'Principal'); $pdf->Cell(60,10, 'Anotador'); $pdf->Ln(5); $pdf->Cell(165); $pdf->Cell(60,10, 'Auxiliar'); $pdf->Cell(60,10, 'Cronometrador'); $pdf->Ln(5); $pdf->Cell(10); $pdf->Cell(10,10,'Encuentro'); $pdf->Cell(40); $pdf->Cell(25,10, 'Fecha'); $pdf->Cell(15,10, 'Hora'); $pdf->Cell(30,10, 'Categoria'); $pdf->Cell(25,10, 'Compet.'); $pdf->Cell(10); $pdf->Cell(60,10, 'Coche'); $pdf->Cell(60,10, 'Operador 24"'); $pdf->Ln(10); $pdf->Cell(0,0,'',1); $pdf->Ln(1); $pdf->Cell(0,0,'',1); $pdf->Ln(1); while($row=$result->fetch_array()){ $pdf->SetFont('Arial', '', 10); $pdf->Cell(25,10,$row["Fecha"]); $pdf->Cell(15,10,$row["Hora"]); $pdf->Cell(30,10,$row["Abreviatura"]); $pdf->Cell(18,10,$row["Tipo"]); $pdf->Cell(3); $pdf->Ln(5); $pdf->Cell(88); $pdf->Cell(8); $pdf->Ln(5); $pdf->SetFont('Arial', 'B', 10); $pdf->Cell(20,10,'Localidad: '); $pdf->SetFont('Arial', '', 10); $pdf->Cell(25); $pdf->SetFont('Arial', 'B', 10); $pdf->Cell(12,10,'Pista: '); $pdf->SetFont('Arial', '', 10); $pdf->Cell(31); $pdf->Cell(8); $pdf->Ln(7); $pdf->Cell(0,0,'',1); $pdf->Ln(1); } } } } } $pdf->Output();