Foros del Web » Programando para Internet » PHP »

PDF desde PHP con paramatros

Estas en el tema de PDF desde PHP con paramatros en el foro de PHP en Foros del Web. Hola a todos estoy haciendo un pdf que me muestre los alumnos inscritos en un semestre... pero haciendo pruebas solo me arroja el primer alumno ...
  #1 (permalink)  
Antiguo 08/07/2011, 10:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
PDF desde PHP con paramatros

Hola a todos estoy haciendo un pdf que me muestre los alumnos inscritos en un semestre... pero haciendo pruebas solo me arroja el primer alumno he intando con do while pero nada ... Alguien podría ayudarme el codigo que tengo es este

Código:
<?php

require('../fpdf16/fpdf.php');

//Conexion a la bd
include('connection.php');
//Crea un nuevo pdf
//Crea un nuevo pdf
$pdf=new FPDF();

//Disable automatic page break
$pdf->SetAutoPageBreak(true);

//Añade primera página
$pdf->AddPage();

//seteo inicial de margenes y position axis pr pagina
$y_axis_initial = 0;
$x_axis = 10;
$y_axis = 20;

//imprime los titulos de columna para la pagina (quitar comentarios para activar)
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',10);
$pdf->SetY($y_axis_initial);

//$pdf->Cell(30,6,'CODI',1,0,'L',1);


$y_axis = $y_axis + $row_height;
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_alumnos = "-1";
if (isset($_GET['idgrado'])) {
  $colname_alumnos = $_GET['idgrado'];
}
mysql_select_db($database_connection, $connection);
$query_alumnos = sprintf("SELECT *FROM alumnos WHERE idgrado = %s ORDER BY ApellidoPaterno ASC", GetSQLValueString($colname_alumnos, "text"));
$alumnos = mysql_query($query_alumnos, $connection) or die(mysql_error());
$row_alumnos = mysql_fetch_assoc($alumnos);
$totalRows_alumno = mysql_num_rows($alumnos);

mysql_select_db($database_connection, $connection);
$query_grados = sprintf("SELECT * FROM grados WHERE idgrado = %s ", GetSQLValueString($colname_alumnos, "text"));
$grados = mysql_query($query_grados, $connection) or die(mysql_error());
$row_grados = mysql_fetch_assoc($grados);
$totalRows_grados = mysql_num_rows($grados);





//inicializo el contador
$i = 0;

//Seto el maximo de filas por pagina
$max = 25;

//Seteo la altuira de la fila
$row_height = 6;


while($row =@mysql_fetch_array($alumnos))
{
//Si la fila actual es la ultima, creo una nueva página e imprimo el titulo (quitar comentarios para activar)
if ($i == $max)
{
$pdf->AddPage();

//print column titles for the current page
//$pdf->SetY($y_axis_initial);
//$pdf->SetX(25);
//$pdf->Cell(30,6,'CODI',1,0,'L',1);


//Go to next row
$y_axis = $y_axis + $row_height;

//Set $i variable to 0 (first row)
$i = 0;
}
do {
$CODI = $row['rfcalumno'];
$NOMB = $row['Nombre'];
$LIBRE = $row['ApellidoPaterno'];
$LIB = $row['ApellidoMaterno'];
 
$pdf->SetY($y_axis);
$pdf->SetX($x_axis);

$linea=$CODI." ".$NOMB." ".$LIBRE." ".$LIB;
} while ($row =@mysql_fetch_array($alumnos)); 
$pdf->MultiCell(0,6,$linea,0,1,'L',10);
//$pdf->MultiCell(30,6,$CODI,0,0,'L',0);
//$pdf->MultiCell(90,6,$NOMB,0,0,'Ln',0);
//$pdf->MultiCell(120,6,$LIBRE,0,0,'Ln',0);


//Go to next row
$y_axis = $y_axis + $row_height;
$i = $i + 1;
}



//Create file
$pdf->Output();
?>
<?php
mysql_free_result($alumnos);
mysql_free_result($grados);
?>
  #2 (permalink)  
Antiguo 08/07/2011, 11:06
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: PDF desde PHP con paramatros

Y en donde estas aumentando la columna para ir haciendo el pdf ?

Saludos
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 08/07/2011, 11:53
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: PDF desde PHP con paramatros

Hola Gracias por tu respuesta ... solo que soy nueva en esto de los pdf y php jejeje
he hecho pero consultas simples y si he obtenido resultados... lo que no puedo hacer es que me respete el parámetro
perdón si no contesto a tu pregunta pero sinceramente aun no domino bien este tema
  #4 (permalink)  
Antiguo 08/07/2011, 11:58
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: PDF desde PHP con paramatros

Cita:
Iniciado por Marvin Ver Mensaje
Y en donde estas aumentando la columna para ir haciendo el pdf ?

Saludos

me imagino que para mi ciclo debería respetar este codigo
Código:
do {
$CODI = $row['rfcalumno'];
$NOMB = $row['Nombre'];
$LIBRE = $row['ApellidoPaterno'];
$LIB = $row['ApellidoMaterno'];
 
$pdf->SetY($y_axis);
$pdf->SetX($x_axis);

$linea=$CODI." ".$NOMB." ".$LIBRE." ".$LIB;
} while ($row =@mysql_fetch_array($alumnos));
  #5 (permalink)  
Antiguo 11/07/2011, 10:29
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: PDF desde PHP con paramatros

Claro... el tema es que dentro del ciclo solo cargas los valores muchas veces pero no se estan asignando al pdf... o sea...

$CODI, $NOMB, $LIBRE y $LIB se cargan con datos... en el siguiente ciclo estas vuelven a cargarse... pero debes cargarlas al pdf antes que cambien...

A eso me referia con mi pregunta puesto que nunca defines (dentro del ciclo) donde debe ir aumentando la columna donde estas poniendo el texto.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 11/07/2011, 11:00
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: PDF desde PHP con paramatros

Cita:
Iniciado por Marvin Ver Mensaje
Claro... el tema es que dentro del ciclo solo cargas los valores muchas veces pero no se estan asignando al pdf... o sea...

$CODI, $NOMB, $LIBRE y $LIB se cargan con datos... en el siguiente ciclo estas vuelven a cargarse... pero debes cargarlas al pdf antes que cambien...

A eso me referia con mi pregunta puesto que nunca defines (dentro del ciclo) donde debe ir aumentando la columna donde estas poniendo el texto.

Suerte!
Ok seguire intentando GRACIAS por tu tiempo
  #7 (permalink)  
Antiguo 11/07/2011, 14:17
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: PDF desde PHP con paramatros

Cita:
Iniciado por Marvin Ver Mensaje
Claro... el tema es que dentro del ciclo solo cargas los valores muchas veces pero no se estan asignando al pdf... o sea...

$CODI, $NOMB, $LIBRE y $LIB se cargan con datos... en el siguiente ciclo estas vuelven a cargarse... pero debes cargarlas al pdf antes que cambien...

A eso me referia con mi pregunta puesto que nunca defines (dentro del ciclo) donde debe ir aumentando la columna donde estas poniendo el texto.

Suerte!
Muchas GRACIAS por tu tiempo resolverlo era más sencillo de lo que parecía

Etiquetas: mysql, pdf, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:04.