post #1 (permalink) Antiguo 19-mar-2010, 14:35
Question FPDF no muestra querys
Que hay.

Tengo un problemilla con esta aplicación o librería para php.

Hice un script en php el cual tiene un select, que contiene varios nombres de una tabla (mysql), al elegir un nombre y oprimir un boton enviar, manda una clave de registro de esa persona.
Pongo el script para que sea más descriptivo:
Código:
<form name='reporte_profe' method='post' action='<?php echo $_SERVER["PHP_SELF"]; ?>' target='_blank'>

echo "<select name='rep_prof' id='inputs' height=50>";
                                
$profes=mysql_query("select CONCAT(a.nom_profesor,' ',a.ap_pat_profesor,' ',a.ap_mat_profesor) as nombre, a.idrfc from profesores ");

                 while($row=mysql_fetch_array($profes)) 
                    {
                                       

                        echo "<option value=' $row[idrfc] '>$row[nombre]</option>";

                     }

 echo "</select>";
El script que genera el pdf recibe esta clave (idrfc) y con ella genero un query el cual requiere de esta clave para presentar datos generales de la persona:}
Código:
//previa conexión y demás....

$RP=$HTTP_POST_VARS['rep_prof'];
...
    $profes=@mysql_query("select concat(nom_profesor,' ',ap_pat_profesor,' ',ap_mat_profesor) as nombre from cat_profesores where idrfc='$RP'");
    $resultado=@mysql_fetch_array($profes);

...
$pdf->Cell(80,5,'Profesor:  '.$resultado[nombre].'.',0,1,'C');
El punto es que si hago lo anterior no me muestra el nombre del profesor, si sustituyo $RP en el query por un valor real idrfc si lo muestra.
La @mysql tengo que usarla por que si no muestra error al querer generar pdf.
Intenté mostrar el valor del post para ver si estaba obteniendo el dato y si lo muestra:
Código:
$pdf->Cell(80,5,$RP,0,1,'C');
Entonces por ese lado no esta el problema....

Espero puedan ayudarme o guiarme, y me haya explicado más o menos

Gracias por las respuestas y su tiempo.

Saludos
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 131
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
venom_mau está desconectado
Responder Citando
post #2 (permalink) Antiguo 19-mar-2010, 16:41
Predeterminado
[QUOTE=venom_mau;302454]
Código:
//previa conexión y demás....

$RP=$HTTP_POST_VARS['rep_prof'];
...
    $profes=@mysql_query("select concat(nom_profesor,' ',ap_pat_profesor,' ',ap_mat_profesor) as nombre from cat_profesores where idrfc='$RP'");
    $resultado=@mysql_fetch_array($profes);

...
$pdf->Cell(80,5,'Profesor:  '.$resultado[nombre].'.',0,1,'C');
El punto es que si hago lo anterior no me muestra el nombre del profesor, si sustituyo $RP en el query por un valor real idrfc si lo muestra.
La @mysql tengo que usarla por que si no muestra error al querer generar pdf.
Intenté mostrar el valor del post para ver si estaba obteniendo el dato y si lo muestra:
Código:
$pdf->Cell(80,5,$RP,0,1,'C');
Hola venom
El problema es $resultado[nombre]
para mi pasa esto: cuando haces el AS de ese concat, recuperalo con $resultado['nombre'], es un error comun. pero me llama la atencion muchas cosas:
*Si queres mostrar el nombre por que haces un terrible concat?
Proba recuperarlo solo con el nom_profesor sin hacer el concat, y anda concatenando una por una, si bien el php reconoce de que tipo es cada variable, hacer una concatenacion de distintos tipos de campos quisas no muestre el resultado.

*Por que usas variables del PHP3?
$HTTP_POST_VARS CAMBIALA POR $_POST o $_GET, si no sabes cual usar: $_REQUEST

*Otra cosa: antes de hacer el mysql_fetch_array, hacete un mysql_num_rows para saber si hay resultados, hay vas a encontrar la respuesta.
__________________
Humanos!!! es normal que le pidan misericordia a mi, a un Dios...
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 71
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
asmdisweb está desconectado
Responder Citando
post #3 (permalink) Antiguo 19-mar-2010, 17:50
Predeterminado
Gracias por responder asmdisweb

Intenté el mysql_num_rows y arroja cero:

Código:
$profes=@mysql_query("select concat(nom_profesor,' ',ap_pat_profesor,' ',ap_mat_profesor) as nombre from cat_profesores where idrfc='$RP'");
$num_res=@mysql_num_rows($profes);
...
$pdf->Cell(80,5,$num_res,0,1,'C');
Entonces no esta encontrando registros???

Usé el HTTP_POST_VARS porque fué el último método que usé, previamente intenté con post y get, y nada.

Hago el concat para traer todo el nombre del profesor, ya que así quiero presentar el pdf, igual lo he intentado con apellidos y nombre por separado, pero nada.

De nuevo gracias
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 131
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
venom_mau está desconectado
Responder Citando
post #4 (permalink) Antiguo 22-mar-2010, 17:49
Predeterminado
Cita:
Iniciado por venom_mau Ver Mensaje

Código:
$profes=@mysql_query("select concat(nom_profesor,' ',ap_pat_profesor,'  ',ap_mat_profesor) as nombre from cat_profesores where idrfc='$RP'");
$num_res=@mysql_num_rows($profes);
...
$pdf->Cell(80,5,$num_res,0,1,'C');
Entonces no esta encontrando registros???
A Venom:
Volvamos a cuando dijiste que si reemplazas el $RP por un numero te funciona, entonces:
sabes que si $RP es un numero no tenes que ponerlo comillas por que lo toma como caracter.
where idrfc=$RP, si los campos estan ok deberia funcionar.
Otra cosa, recupera los campos q vas a usar y concatenalos fuera de la consulta, es algo inaudito....
__________________
Humanos!!! es normal que le pidan misericordia a mi, a un Dios...
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 71
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
asmdisweb está desconectado
Responder Citando
post #5 (permalink) Antiguo 23-mar-2010, 18:00
Predeterminado
Ya lo resolví :P

Antes tenía:
Código:
...
       while($row=mysql_fetch_array($profes)) 
           {
             echo "<option value=' $row[idrfc] '>$row[nombre]</option>";

           }
Lo resolví así:
Código:
echo "<option value='". $row['idrfc']." '>".$row['nombre']."</option>";
Simplemente problemas de concatenación como decías asmdisweb.

Ahora ya puedo hacer las consultas:
Código:
$profes=@mysql_query("select concat(nom_profesor,' ',ap_pat_profesor,'  ',ap_mat_profesor) as nombre from cat_profesores where idrfc='$RP'");
Con las comillas simples y funciona.

Gracias por el interés asmdisweb.

Saludos
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 131
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
venom_mau está desconectado
Responder Citando
post #6 (permalink) Antiguo 25-mar-2010, 09:42
Predeterminado
Cita:
Iniciado por venom_mau Ver Mensaje
Ya lo resolví :P
Con las comillas simples y funciona.

Gracias por el interés asmdisweb.

Saludos
*----------------------------------------*
Viste que tenia razon desde el principio..........
Son 1 EUROS, el tiempo invertido es oro......
__________________
Humanos!!! es normal que le pidan misericordia a mi, a un Dios...
Usuario Novato
Fecha de Ingreso: sep-08
Mensajes: 71
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
asmdisweb está desconectado
Responder Citando
Respuesta

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Ir al Foro


La franja horaria es GMT -3. Ahora son las 15:15.