Al pdf lo creo con las siguientes lineas:
Código PHP:
<?php
session_start();
include ("../conexion.php");
include ("function.php");
require ('../employed/fpdf17/fpdf.php');
/////////////////////////////////////////////////////////////////////////////////////////////////////
//REFERENCIAS DE COMANDOS
/////////////////////////////////////////////////////////////////////////////////////////////////////
// SetFont(fuente, tipografia B = Negrita o I = Cursiva o '' = Normal , tamaño);
// Cell(ancho,alto,'texto',0 = No Linea o 1 = linea,0 = sigue o 1 = baja,justificado);
// new PDF(L = vertical o P = horizontal, unidad de medida CM, MM)
class PDF extends FPDF
{
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Creación de la Cabecera
/////////////////////////////////////////////////////////////////////////////////////////////////////
function Header()
{
//Nombre Empresa
$nombre_empresa = "CEKIF";
$this->SetFont('Arial','B',32);
$this->Cell(60,10,$nombre_empresa,0,0,'L');
//Subtitulo Empresa
$subtitulo_empresa = "Centro de Kinesiologia y Fisioterapia";
$this->SetFont('Arial','',11);
$this->Cell(217,10,$subtitulo_empresa,0,1,'R');
//Dirección Empresa
$direccion_empresa = "Calle Gongora 448 - ALTA CORDOBA - C.P.: X5001BGJ - Tel.: 0351 - 4704179";
$this->SetFont('Arial','',8);
$this->Cell(277,5,$direccion_empresa,0,1,'L');
//Linea Separadora
$this->Cell(0,0,'',1,1,'');
//Nombre del Reporte
$this->SetFont('Arial','B',9);
$this->Cell(277,15,'DETALLES DE LOS TURNOS DEL DIA: '.$_SESSION['fecha'].'',0,1,'C');
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Creación del pie de página
/////////////////////////////////////////////////////////////////////////////////////////////////////
function Footer()
{
$this->SetY(-10);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Página '.$this->PageNo().'',0,0,'C');
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Creación del PDF
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Definimos la hoja a utilizar (L = vertical o P = horizontal)
$pdf=new PDF('L','mm');
//Agregamos las páginas
$pdf->AddPage();
//Definir fuente a utilizar
$pdf->SetFont('Arial','',8);
//Defino margen de arriba
$pdf->SetTopMargin(20);
//Defino margen de la izquierda
$pdf->SetLeftMargin(5);
//Definimos margen de la derecha
$pdf->SetRightMargin(5);
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Armamos la Tabla
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Defino de donde empieza la tabla
$pdf->setXY(10,40);
//Defino la fuente a utilizar
$pdf->SetFont('Arial','',10);
//Defino el color de la fila
$pdf->SetFillColor(204,204,204);
//Defino los títulos de las tablas
$pdf->Cell(20,9,'Numero',1,0,'C',1);
$pdf->Cell(70,9,'Paciente',1,0,'C',1);
$pdf->Cell(30,9,'Medico',1,0,'C',1);
$pdf->Cell(30,9,'Especialidad',1,0,'C',1);
$pdf->Cell(87,9,'Motivo',1,0,'C',1);
$pdf->Cell(15,9,'Hora',1,0,'C',1);
$pdf->Cell(25,9,'Observ.',1,1,'C',1);
//DETALLE TABLA
if (isset($_REQUEST['menu_medicos']))
{
$_SESSION['menu_medicos'] = $_REQUEST['menu_medicos'];
}
if ($_SESSION['menu_medicos'] == "")
{
$sql = "SELECT * FROM agenda_turnos
INNER JOIN medicos ON agenda_turnos.agenda_medico = medicos.id_medico
INNER JOIN especialidades ON agenda_turnos.agenda_especialidad = especialidades.id_especialidad
INNER JOIN pacientes ON agenda_turnos.agenda_paciente = pacientes.id_paciente
INNER JOIN horarios_turnos ON agenda_turnos.id_horario_turno1 = horarios_turnos.id_horario_turno
INNER JOIN estados_turnos ON agenda_turnos.agenda_estado = estados_turnos.id_estado_turno
WHERE agenda_fecha = '".$_SESSION['fecha_selecionada']."'
ORDER BY id_horario_turno1 ASC";
}
elseif ($_SESSION['menu_medicos'] == "Todos")
{
$sql = "SELECT * FROM agenda_turnos
INNER JOIN medicos ON agenda_turnos.agenda_medico = medicos.id_medico
INNER JOIN especialidades ON agenda_turnos.agenda_especialidad = especialidades.id_especialidad
INNER JOIN pacientes ON agenda_turnos.agenda_paciente = pacientes.id_paciente
INNER JOIN horarios_turnos ON agenda_turnos.id_horario_turno1 = horarios_turnos.id_horario_turno
INNER JOIN estados_turnos ON agenda_turnos.agenda_estado = estados_turnos.id_estado_turno
WHERE agenda_fecha = '".$_SESSION['fecha_selecionada']."'
ORDER BY id_horario_turno1 ASC";
}
else
{
$sql = "SELECT * FROM agenda_turnos
INNER JOIN medicos ON agenda_turnos.agenda_medico = medicos.id_medico
INNER JOIN especialidades ON agenda_turnos.agenda_especialidad = especialidades.id_especialidad
INNER JOIN pacientes ON agenda_turnos.agenda_paciente = pacientes.id_paciente
INNER JOIN horarios_turnos ON agenda_turnos.id_horario_turno1 = horarios_turnos.id_horario_turno
INNER JOIN estados_turnos ON agenda_turnos.agenda_estado = estados_turnos.id_estado_turno
WHERE agenda_fecha = '".$_SESSION['fecha_selecionada']."'
AND agenda_medico = '".$_SESSION['menu_medicos']."'
ORDER BY id_horario_turno1, agenda_estado ASC";
}
$Listado_Turnos = mysql_query($sql) or die(mysql_error());
$_SESSION['fecha'] = convertir_fecha_calendario ($_SESSION['fecha_selecionada']);
//Destruimos la sesión para que inicie vacio en los siguientes reportes
unset ($_SESSION['menu_medicos']);
while ($Turnos = mysql_fetch_array($Listado_Turnos))
{
$pdf->SetX(10);
$pdf->SetFont('Arial','',9);
$pdf->Cell(20,7,$Turnos['nro_paciente'],1,0,'C');
$pdf->Cell(70,7,$Turnos['nombre']." ".$Turnos['apellido'],1,0,'L');
$pdf->Cell(30,7,$Turnos['M_nombre'],1,0,'C');
$pdf->Cell(30,7,$Turnos['especialidad_nombre'],1,0,'C');
$pdf->Cell(87,7,$Turnos['agenda_motivo'],1,0,'L');
$pdf->Cell(15,7,$Turnos['horario_turno'],1,0,'C');
$pdf->Cell(25,7,$Turnos['estado_nombre'],1,1,'C');
}
//Aquí escribimos lo que deseamos mostrar...
$pdf->Output('Reporte_Turnos_Fecha_'.$_SESSION['fecha'].'.pdf','I');
?>
El tema cual es, en donde dice "$pdf->Cell(87,7,$Turnos['agenda_motivo'],1,0,'L');" yo le estoy diciendo que sea una cela de 87 de ancho, 7 de alto, que inserte el contenido de $Turnos['agenda_motivo'], que me dibuje las lineas, que continue en a misma linea y que justifique a la izquierda.
Bueno, eso lo hace hermoso, el problema surge cuando el contenido de $Turnos['agenda_motivo'] es grande, en vez de adaptarse al tamaño de ancho que se le dió a la celda, el contenido sigue en una sola linea y se transcribe arriba de las columnas que le sigen
![Confundido](http://static.forosdelweb.com/fdwtheme/images/smilies/confused.png)
Subo una imagen en el siguiente post para que vean a que me refiero pero espero puedan darme una idea de que hacer..
Encontré que para esos casos en vez de usar Cell se usa MultiCell, con lo cual hace lo que quiero, pero al mismo tiempo me baja a una nueva fila las siguientes 2 columnas y le pone fondo a la celda
![Confundido](http://static.forosdelweb.com/fdwtheme/images/smilies/confused.png)