Foros del Web » Programando para Internet » PHP »

Crear archivo de texto luego de consulta

Estas en el tema de Crear archivo de texto luego de consulta en el foro de PHP en Foros del Web. Buenas tardes amigos del foro, tenia la siguiente duda nose si me podrian ayudar a absolverla, pasa que hago una consulta a mi bd y ...
  #1 (permalink)  
Antiguo 18/11/2011, 13:24
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Pregunta Crear archivo de texto luego de consulta

Buenas tardes amigos del foro, tenia la siguiente duda nose si me podrian ayudar a absolverla, pasa que hago una consulta a mi bd y obtengo los registro los manipulo todo e imprimo normal lo que necesito, pero ahora con estos datos como lo podria pasar a un txt? espero me puedan ayudar amigos gracias.
  #2 (permalink)  
Antiguo 18/11/2011, 13:27
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Crear archivo de texto luego de consulta

Fijate si esto te sirve ;)

http://php.net/manual/es/function.file-put-contents.php

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 18/11/2011, 13:41
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear archivo de texto luego de consulta

$archivo = fopen("../log/errores.txt","a");crea el archivo
fwrite($archivo, ''aki las variables y el mesnaje del txt'' . PHP_EOL);
fclose($archivo);
  #4 (permalink)  
Antiguo 18/11/2011, 13:44
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Pero osea yo he obtenido varios datos e impreso en una web norma mira, como meto todo esto en el txt?

<?php
include("conexion.php"); //conexion

//Funciones
function add_ceros($numero,$ceros) {
$order_diez = explode(".",$numero);
$dif_diez = $ceros - strlen($order_diez[0]);
for($m = 0 ;
$m < $dif_diez;
$m++)
{
@$insertar_ceros .= 0;
}
return $insertar_ceros .= $numero;
}


//Estructura de la tabla
echo "<table border=1>";
echo "<tr>";
echo "<td>CSUBDIA</td>";
echo "<td>CCOMPRO</td>";
echo "<td>CFECCOM</td>";
echo "<td>CCODMON</td>";
echo "<td>CSITUA</td>";
echo "<td>CTIPCAM</td>";
echo "<td>CGLOSA</td>";
echo "<td>CTOTAL</td>";
echo "<td>CTIPO</td>";
echo "<td>CFLAG</td>";
echo "<td>CDATE</td>";
echo "<td>CHORA</td>";
echo "<td>CUSER</td>";
echo "<td>CFECCAM</td>";
echo "<td>CORIG</td>";
echo "<td>CFORM</td>";
echo "<td>CTIPCOM</td>";
echo "<td>CEXTOR</td>";
echo "<td>CFECCOM2</td>";
echo "<td>CFECCAM2</td>";
echo "<td>COPCION</td>";
echo "</tr>";


//Definicion de Variables
$c="06";
$numero="1";
$CCODMON="MN";
$CSITUA="F";
$CTIPCAM="0.000000";
$CTIPO="M";
$CFLAG="N";
$CUSER="SIST";
$COPCION="S";



//Consulta a la bd
$sql = mysql_query("SELECT * FROM tabla1") or die ("Error en el query: ".mysql_error());

while($rs=mysql_fetch_array($sql)){
//Variables
$MESANIO=$rs['MESANIO'];
$CCOMPRO=substr($MESANIO,-2);
$CCOMPRO_CORRELATIVO=add_ceros($numero,4);
$numero++;
$CCOMPRO_CONCATENADOS=$CCOMPRO.$CCOMPRO_CORRELATIV O;







echo"<tr>";
echo "<td>$c</td>";
echo "<td>$CCOMPRO_CONCATENADOS</td>";
echo "<td>$rs[FECHA]</td>";
echo "<td>$CCODMON</td>";
echo "<td>$CSITUA</td>";
echo "<td>$CTIPCAM</td>";
echo "<td>$rs[PROVEEDOR]</td>";
echo "<td>$rs[TOTAL]</td>";
echo "<td>$CTIPO</td>";
echo "<td>$CFLAG</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>$CUSER</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>$COPCION</td>";



echo "</tr>";

}
echo "</table>";
?>


Gracias de antemano
  #5 (permalink)  
Antiguo 18/11/2011, 13:48
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear archivo de texto luego de consulta

que variables quieres guardar dimelas y te lo creo y la ruta de donde quieres guardar el archivo txt
  #6 (permalink)  
Antiguo 18/11/2011, 13:50
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Quiero guardar esa tabla osea las cabeceras y mas abajo imprimo todos los resultados. Gracias.
  #7 (permalink)  
Antiguo 18/11/2011, 13:54
Avatar de TBS
TBS
 
Fecha de Ingreso: febrero-2007
Ubicación: Lausana
Mensajes: 69
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: Crear archivo de texto luego de consulta

Primero que nada recoge el buffer de tu output en una variable. Como en el siguiente ejemplo:

Código PHP:
Ver original
  1.  
  2. echo "Hello ";
  3.  
  4. $output = ob_get_contents();
  5.  

Luego puedes hacer lo que quieras con $output ... Mostrarlo:
Código PHP:
Ver original
  1. echo $output;

O simplemente guardarlo en un txt:
Código PHP:
Ver original
  1. file_put_contents('fichero.txt', $output);

Suerte.
__________________
Zend Framework + HTML5 + CSS3 + Javascript
www.dayron.ch
  #8 (permalink)  
Antiguo 18/11/2011, 13:59
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Estimado TBS yo hice un ejemplo donde guardaba una cadena normal en mi txt, pero no entiendo muy bien como puedo guardar mi tabla que la saco de mi bd, como veras en mi codigo tengo mi cabecera de tabla y imprimo el cuerpo Slds y muchas gracias por tu aporte.
  #9 (permalink)  
Antiguo 18/11/2011, 14:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear archivo de texto luego de consulta

pasame las variables que kieres guardar y la ruta y te lo digo
  #10 (permalink)  
Antiguo 18/11/2011, 14:02
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Mis variables son estas estimado:

echo"<tr>";
echo "<td>$c</td>";
echo "<td>$CCOMPRO_CONCATENADOS</td>";
echo "<td>$rs[FECHA]</td>";
echo "<td>$CCODMON</td>";
echo "<td>$CSITUA</td>";
echo "<td>$CTIPCAM</td>";
echo "<td>$rs[PROVEEDOR]</td>";
echo "<td>$rs[TOTAL]</td>";
echo "<td>$CTIPO</td>";
echo "<td>$CFLAG</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>$CUSER</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>$COPCION</td>";
  #11 (permalink)  
Antiguo 18/11/2011, 14:04
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Crear archivo de texto luego de consulta

Fijate con esto ;)

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php"); //conexion
  3.  
  4. //Funciones
  5. function add_ceros($numero,$ceros) {
  6. $order_diez = explode(".",$numero);
  7. $dif_diez = $ceros - strlen($order_diez[0]);
  8. for($m = 0 ;
  9. $m < $dif_diez;
  10. $m++)
  11. {
  12. @$insertar_ceros .= 0;
  13. }
  14. return $insertar_ceros .= $numero;
  15. }
  16.  
  17.  
  18. //Estructura de la tabla
  19. $tabla[] = "<table border=1>";
  20. $tabla[] = "<tr>";
  21. $tabla[] = "<td>CSUBDIA</td>";
  22. $tabla[] = "<td>CCOMPRO</td>";
  23. $tabla[] = "<td>CFECCOM</td>";
  24. $tabla[] = "<td>CCODMON</td>";
  25. $tabla[] = "<td>CSITUA</td>";
  26. $tabla[] = "<td>CTIPCAM</td>";
  27. $tabla[] = "<td>CGLOSA</td>";
  28. $tabla[] = "<td>CTOTAL</td>";
  29. $tabla[] = "<td>CTIPO</td>";
  30. $tabla[] = "<td>CFLAG</td>";
  31. $tabla[] = "<td>CDATE</td>";
  32. $tabla[] = "<td>CHORA</td>";
  33. $tabla[] = "<td>CUSER</td>";
  34. $tabla[] = "<td>CFECCAM</td>";
  35. $tabla[] = "<td>CORIG</td>";
  36. $tabla[] = "<td>CFORM</td>";
  37. $tabla[] = "<td>CTIPCOM</td>";
  38. $tabla[] = "<td>CEXTOR</td>";
  39. $tabla[] = "<td>CFECCOM2</td>";
  40. $tabla[] = "<td>CFECCAM2</td>";
  41. $tabla[] = "<td>COPCION</td>";
  42. $tabla[] = "</tr>";
  43.  
  44.  
  45. //Definicion de Variables
  46. $c="06";
  47. $numero="1";
  48. $CCODMON="MN";
  49. $CSITUA="F";
  50. $CTIPCAM="0.000000";
  51. $CTIPO="M";
  52. $CFLAG="N";
  53. $CUSER="SIST";
  54. $COPCION="S";
  55.  
  56.  
  57.  
  58. //Consulta a la bd
  59. $sql = mysql_query("SELECT * FROM tabla1") or die ("Error en el query: ".mysql_error());
  60.  
  61. while($rs=mysql_fetch_array($sql)){
  62. //Variables
  63. $MESANIO=$rs['MESANIO'];
  64. $CCOMPRO=substr($MESANIO,-2);
  65. $CCOMPRO_CORRELATIVO=add_ceros($numero,4);
  66. $numero++;
  67. $CCOMPRO_CONCATENADOS=$CCOMPRO.$CCOMPRO_CORRELATIV O;
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75. $tabla[] = "<tr>";
  76. $tabla[] = "<td>$c</td>";
  77. $tabla[] = "<td>$CCOMPRO_CONCATENADOS</td>";
  78. $tabla[] = "<td>$rs[FECHA]</td>";
  79. $tabla[] = "<td>$CCODMON</td>";
  80. $tabla[] = "<td>$CSITUA</td>";
  81. $tabla[] = "<td>$CTIPCAM</td>";
  82. $tabla[] = "<td>$rs[PROVEEDOR]</td>";
  83. $tabla[] = "<td>$rs[TOTAL]</td>";
  84. $tabla[] = "<td>$CTIPO</td>";
  85. $tabla[] = "<td>$CFLAG</td>";
  86. $tabla[] = "<td></td>";
  87. $tabla[] = "<td></td>";
  88. $tabla[] = "<td>$CUSER</td>";
  89. $tabla[] = "<td></td>";
  90. $tabla[] = "<td></td>";
  91. $tabla[] = "<td></td>";
  92. $tabla[] = "<td></td>";
  93. $tabla[] = "<td></td>";
  94. $tabla[] = "<td></td>";
  95. $tabla[] = "<td></td>";
  96. $tabla[] = "<td>$COPCION</td>";
  97.  
  98.  
  99.  
  100. $tabla[] = "</tr>";
  101.  
  102. }
  103. $tabla[] = "</table>";
  104.  
  105. $tabla = join('', $tabla);
  106.  
  107. file_put_contents('fichero.txt', $tabla);
  108.  
  109. ?>
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #12 (permalink)  
Antiguo 18/11/2011, 14:09
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

La verdad que eres muy bueno para hacer eso hermano, muchas gracias linuxzero si quisiera imprimir sin el td o tr simplemente los borro vdd? Gracias amigo.
  #13 (permalink)  
Antiguo 18/11/2011, 14:12
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

El unico que problema es que me imprime todo corrido y no me respeta cuando termina la fila...
  #14 (permalink)  
Antiguo 18/11/2011, 14:12
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Crear archivo de texto luego de consulta

Me alegro que te hayamos podido ayudar ;) si lo que no quieras enviar al archivo solo le quitas los tags que no queres y listo ;)

Cualquier cosa no dudes en preguntar.

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #15 (permalink)  
Antiguo 18/11/2011, 14:15
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Muchas Gracias estimado linuxzero, mi duda es la siguiente como hago para que de un salto de linea cada vez que termina cada fila. Gracias.
  #16 (permalink)  
Antiguo 18/11/2011, 14:17
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Yo mismo me respondo, erá asi ---> \r\n GRACIAS A TODOS POR SU COLABORACION.
Slds y suerte en todo.
  #17 (permalink)  
Antiguo 18/11/2011, 14:19
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Crear archivo de texto luego de consulta

teniendo los tag de la tabla o siendo valor por valor solo?. Si le quitaste los tags de tabla podes cambiar la linea esta:

Código PHP:
Ver original
  1. $tabla = join('', $tabla);

por esta:

Código PHP:
Ver original
  1. $tabla = join('<br />', $tabla);

Si estan los tags de la tabla no seria necesario porque la tabla hace los saltos de linea solos.

Avisame cualquier cosa ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #18 (permalink)  
Antiguo 18/11/2011, 14:23
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Muchas Gracias aclaré todas mis dudas gracias a ustedes, un abrazo.
  #19 (permalink)  
Antiguo 18/11/2011, 14:25
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Crear archivo de texto luego de consulta

abrazo grande campeón, suerte con eso ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #20 (permalink)  
Antiguo 18/11/2011, 14:48
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

Y bueno para todos los que necesiten el codigo aqui se los dejo. Solo tenia una duda al final use un chr(9) como separador, pero al momento de ver los datos el uno aparece mas atras que los demas abajo lo pego para que vean.

<?php
include("conexion.php"); //conexion

//Funciones
function add_ceros($numero,$ceros) {
$order_diez = explode(".",$numero);
$dif_diez = $ceros - strlen($order_diez[0]);
for($m = 0 ;
$m < $dif_diez;
$m++)
{
@$insertar_ceros .= 0;
}
return $insertar_ceros .= $numero;
}

//Estructura de la tabla



//Definicion de Variables
$c="06";
$numero="1";
$CCODMON="MN";
$CSITUA="F";
$CTIPCAM="0.000000";
$CTIPO="M";
$CFLAG="N";
$CUSER="SIST";
$COPCION="S";



//Consulta a la bd
$sql = mysql_query("SELECT * FROM tabla1") or die ("Error en el query: ".mysql_error());

while($rs=mysql_fetch_array($sql)){
//Variables
$MESANIO=$rs['MESANIO'];
$CCOMPRO=substr($MESANIO,-2);
$CCOMPRO_CORRELATIVO=add_ceros($numero,4);
$numero++;
$CCOMPRO_CONCATENADOS=$CCOMPRO.$CCOMPRO_CORRELATIV O;


$tabla[] = "$c";
$tabla[] = "$CCOMPRO_CONCATENADOS";
$tabla[] = "$rs[FECHA]";
$tabla[] = "$CCODMON";
$tabla[] = "$CSITUA";
$tabla[] = "$CTIPCAM";
$tabla[] = "$rs[PROVEEDOR]";
$tabla[] = "$rs[TOTAL]";
$tabla[] = "$CTIPO";
$tabla[] = "$CFLAG";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = "$CUSER";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = " ";
$tabla[] = "$COPCION";
$tabla[] = "\r\n";





}


$tabla = join(chr(9), $tabla);

file_put_contents('fichero3.txt', $tabla);

?>
  #21 (permalink)  
Antiguo 18/11/2011, 14:49
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

06 010001 2011-11-17 mn f 0.000000 cabinets & racks sac 621.18 m n sist s 06 010002 0000-00-00 mn f 0.000000 pacifico sa 7827.61 m n sist s
06 010003 0000-00-00 mn f 0.000000 pacifico sa 566.98 m n sist s
06 010004 0000-00-00 mn f 0.000000 pacifico sa 1380.01 m n sist s
06 010005 0000-00-00 mn f 0.000000 pacifico sa 194.21 m n sist s
06 010006 0000-00-00 mn f 0.000000 gaona delgado gaspar 4.00 m n sist s
06 010007 0000-00-00 mn f 0.000000 emape sa 3.00 m n sist s
06 010008 0000-00-00 mn f 0.000000 e wong sa 48.71 m n sist s
06 010009 0000-00-00 mn f 0.000000 supermercados peruanos sa 57.77 m n sist s
06 010010 0000-00-00 mn f 0.000000 wo sa 100.00 m n sist s
06 010011 0000-00-00 mn f 0.000000 coesti sa 50.00 m n sist s
06 010012 0000-00-00 mn f 0.000000 aguirre salazar mauro jose 196.00 m n sist s
06 010013 0000-00-00 mn f 0.000000 michue huaca percy humberto 43.99 m n sist
  #22 (permalink)  
Antiguo 18/11/2011, 14:50
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Crear archivo de texto luego de consulta

El primero aparece mas atras y el resto mas adelante osea el tab se da alli tambien

Etiquetas: registro
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 06:44.