Foros del Web » Programando para Internet » PHP »

Funcion system() en php

Estas en el tema de Funcion system() en php en el foro de PHP en Foros del Web. Amigos: Tengo un problema que no he podido resolver a ver si me pueden ayudar porfavor. Resulta que tengo una consulta que me extrae los ...
  #1 (permalink)  
Antiguo 21/03/2005, 08:30
Avatar de pablod  
Fecha de Ingreso: abril-2004
Ubicación: Santiago
Mensajes: 118
Antigüedad: 20 años
Puntos: 0
Funcion system() en php

Amigos:

Tengo un problema que no he podido resolver a ver si me pueden ayudar porfavor.

Resulta que tengo una consulta que me extrae los datos de una tabla, espeficamente "Nombre, Apellido, User_name, Clave".
El usuario quiere que luego de ejecutarse esta consulta se ejecute un proceso interno que me imprima los resultados de la consulta, es decir un papelito donde esten todos los usuarios y las claves que arrojo la consulta. Esta impresion se debe realizar bajo entorno Linux, es decir desde el PHP llamo a un comando linux que imprime el resultado. Lo hago de esta forma:

system("echo \"".$variable."\">/dev/lp0");

Mi problema esta que no se como hacerlo para que se impriman los resultados de una sola vez, es decir que la impresión se haga de corrido y que me imprima todos los resultados de la consulta, mostrandome 2 registros por pagina.

Ayuda plis, espero sus sugerencias

Un saludo P4blo
__________________
Pablod:-)

Última edición por pablod; 21/03/2005 a las 08:31
  #2 (permalink)  
Antiguo 22/03/2005, 02:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
.... Yo usuario consulto tu página y tu imprimes??... orale no sabia se podia eso... ... Bueno verás que no soy experto... pero ¿por qué no manejar una base de datos ó archivo de texto??...
Recupero 0 -> actualizo a 1.
Recupero 1 -> actualizo a 0, imprimo.
Recupero 0 -> .... ¿?... digo :-s (espero no decir una idiotés)
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 22/03/2005, 07:10
Avatar de pablod  
Fecha de Ingreso: abril-2004
Ubicación: Santiago
Mensajes: 118
Antigüedad: 20 años
Puntos: 0
re

bueno al parecer no me explique bien.

Mi aplicación es una Intranet, y cuando hablo de usuario hablo del administrador de la aplicación que para mi es el usuario .

Un saludo P4blo
__________________
Pablod:-)
  #4 (permalink)  
Antiguo 22/03/2005, 08:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé a que te refires con "resultados de una vez" .. no vemos que valor tiene $variable ni como la generas.

El caso es que debes conocer los códigos de control para tu impresora para indicar un salto de línea .. Sólo conozco el \n como salto de línea (y/o \n\r ...) o el \t (tabulador) ..

De esa forma .. tendrás que recorrer tu consulta (ejecutarla denuevo) .. lo mismo que ahora para "HTML" compones HTML con tablas o simples <br> como salto de línea . .ahora tendras que usar dichos códigos para dar formato a tu archivo ..

PD: ..¿ Sabes que la impresión se va a realizar en la impresora conectada a tu servidor (o alguna de la red si ese servidor la tiene configurada como para usarla), no la del "cliente" que ejecute tu script?

Un saludo,
  #5 (permalink)  
Antiguo 22/03/2005, 08:53
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 4 meses
Puntos: 34
Es así, en la variable ya tenés que tener armado el html con sus saltos de páginas. Para lograr uno, no hay mejor manera de hacerlo que con css. Lo que haces es, donde querés un salto de página poner lo siguiente:
Código PHP:
<div class=saltoPagina></div
Así solito, y después declaras el siguiente estilo:
.saltoPagina{PAGE-BREAK-AFTER: always;}
Una vez eso, no te olvides de escapar todo contenido dentro de system (lo mismo para exec) con escapeshellarg o escapeshellcmd.
Una cosa, si lo que imprimis es mucho, hacete una espera, para que no quede el proceso colgado:
Código PHP:
while(system(..)>0){
sleep(1);

Y no se realmente la diferencia, pero simpre use exec y no system...por lo que esto del while no se que tan efectivo sea.


Appendix:
Tipos de saltos de pagina:
'page-break-before'
Valor: auto | always | avoid | left | right | inherit
Inicial: auto
Se aplica a: los elementos a nivel de bloque
Se hereda: no
Porcentajes: N/A
Media: visual, paged

'page-break-after'
Valor: auto | always | avoid | left | right | inherit
Inicial: auto
Se aplica a: los elementos a nivel de bloque
Se hereda: no
Porcentajes: N/A
Medios: visuales, paginados

'page-break-inside'
Valor: avoid | auto | inherit
Inicial: auto
Se aplica a: los elementos a nivel de bloque
Se hereda: si
Porcentajes: N/A
Medios: visuales, paginados

Los valores para estas propiedades tienen los siguientes significados:

auto
Ni fuerza ni prohibe un salto de página antes de (después de, en) la caja generada.
always
Siempre fuerza un salto de página antes (después) de la caja generada.
avoid
Evita un salto de página antes de (después de, en) la caja generada.
left
Fuerza uno o dos saltos de página antes (después) de la caja generada para que la siguiente página sea compuesta como una página izquierda.
right
Fuerza uno o dos saltos de página antes (después) de la caja generada para que la siguiente página sea compuesta como una página derecha.
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 22/03/2005 a las 08:55
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 02:40.