de Alucard66626, 3 años han pasado desde su publicación, escrito en PHP.
Este código es una respuesta a Codekamx - articulos.php de linuxmanr4
- ver diferencias
Enlace corto
http://gw.gd/fhKs
Insertar vínculo
  1. <?php
  2.  
  3. define('FPDF_FONTPATH', 'font/');
  4. require('mysql_table.php');
  5.  
  6. include("comunes.php");
  7.  
  8. include ("../conectar.php");
  9.  
  10. $pdf = new PDF();
  11. $pdf->Open();
  12. $pdf->AddPage();
  13.  
  14. //Nombre del Listado
  15. $pdf->SetFillColor(255, 255, 255);
  16. $pdf->SetFont('Arial', 'B', 16);
  17. $pdf->SetY(40);
  18. $pdf->SetX(0);
  19.  
  20. $pdf->MultiCell(290, 6, "Listado de Articulos", 0, C, 0);
  21.  
  22. $pdf->Ln();
  23.  
  24. //Restauracin de colores y fuentes
  25.  
  26. $pdf->SetFillColor(224, 235, 255);
  27. $pdf->SetTextColor(0);
  28. $pdf->SetFont('Arial', 'B', 7);
  29.  
  30. # en la captura de los _get:
  31.  
  32. $codarticulo = $_GET["codarticulo"];
  33. $descripcion = $_GET["descripcion"];
  34. $codfamilia = $_GET["familia"];
  35. $referencia = $_GET["referencia"];
  36. $codproveedor = $_GET["proveedores"];
  37. $codubicacion = $_GET["ubicacion"];
  38.  
  39. $where = "1=1";
  40. if ($codarticulo <> "") {$where.=" AND codarticulo='$codarticulo'";}
  41. if ($descripcion <> "") {$where.=" AND descripcion like '%" . $descripcion . "%'";}
  42. if ($codfamilia > "0") {$where.=" AND codfamilia='$codfamilia'";}
  43. if ($codproveedor > "0") {$where.=" AND (codproveedor1='$codproveedor' OR codproveedor2='$codproveedor')";}
  44. if ($codubicacion > "0") {$where.=" AND codubicacion='$codubicacion'";}
  45. if ($referencia <> "") {$where.=" AND referencia like '%" . $referencia . "%'";}
  46.  
  47. $header = array('Familia', 'Referencia', 'Descripcion', 'P. Tienda', 'Stock');
  48.  
  49. //Colores, ancho de lnea y fuente en negrita
  50. $pdf->SetFillColor(200, 200, 200);
  51. $pdf->SetTextColor(0);
  52. $pdf->SetDrawColor(0, 0, 0);
  53. $pdf->SetLineWidth(.2);
  54. $pdf->SetFont('Arial', 'B', 8);
  55.  
  56. //Cabecera
  57. $w = array(40, 30, 80, 20, 20);
  58. for ($i = 0; $i < count($header); $i++)
  59.     $pdf->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1);
  60. $pdf->Ln();
  61. $pdf->SetFont('Arial', '', 8);
  62. # y la parte de la consultas:
  63. # sonsulta solo en la tabla articulo
  64.  
  65. $sel_resultado = "SELECT * FROM articulos WHERE articulos.borrado=0 AND " . $where;
  66. $res_resultado = mysql_query($sel_resultado);
  67. $contador = 0;
  68.  
  69. while ($contador < mysql_num_rows($res_resultado)) {
  70.    
  71.  
  72.   # segunda consulta para sacar el nombre de la familia, ocupando codfamilia de cada articulo XD
  73.  
  74.     $idFamilia = mysql_result($res_resultado, $contador, "codfamilia");
  75.     $sel_resultadoFami = "SELECT * FROM familias WHERE codfamilia='$idFamilia'";
  76.     $res_resultadoFami = mysql_query($sel_resultadoFami);
  77.     $nombreFamilia=mysql_result($res_resultadoFami,0, "nombre");
  78.    
  79.     $pdf->Cell($w[0], 5,$nombreFamilia, 'LRTB', 0, 'L');
  80.     $pdf->Cell($w[1], 5, mysql_result($res_resultado, $contador, "referencia"), 'LRTB', 0, 'C');
  81.     $pdf->Cell($w[2], 5, mysql_result($res_resultado, $contador, "descripcion_corta"), 'LRTB', 0, 'L');
  82.     $pdf->Cell($w[3], 5, mysql_result($res_resultado, $contador, "precio_tienda"), 'LRTB', 0, 'R');
  83.     $pdf->Cell($w[4], 5, mysql_result($res_resultado, $contador, "stock"), 'LRTB', 0, 'R');
  84.     $pdf->Ln();
  85.     $contador++;
  86. };
  87.  
  88. $pdf->Output();
  89. ?>
  90.