Foros del Web » Programando para Internet » PHP »

ayuda con impresion de php en txt

Estas en el tema de ayuda con impresion de php en txt en el foro de PHP en Foros del Web. saludos bueno tengo el siguiente codigo que me imprime en un txt unos campos que tengo en mi bd: Código PHP: <? include  "bd_conectar.php" ;  ...
  #1 (permalink)  
Antiguo 15/07/2008, 08:28
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta ayuda con impresion de php en txt

saludos bueno tengo el siguiente codigo que me imprime en un txt unos campos que tengo en mi bd:


Código PHP:
<?include "bd_conectar.php"$contador 1$cliente $_POST['cliente'];$correo  $_POST['correo'];$telefono$_POST['telefono'];$fax     $_POST['fax'];$material$_POST['material']; $result=mysql_query("INSERT INTO solicitud_corte_cab  ( cliente, correo, telefono, fax, material)                    VALUES ('$cliente', '$correo', '$telefono', '$fax', $material)"$conexion);  if(!$result){    echo "Hubo un error al guardar cabecera de la Solicitur de Corte";} $id mysql_insert_id();  while($contador 16){      $item    $_POST['item'.$contador];    $cantidad$_POST['cantidad'.$contador];    $base    $_POST['base'.$contador];    $altura  $_POST['altura'.$contador];    $pvc1    $_POST['L1_'.$contador];    $pvc2    $_POST['L2_'.$contador];    $pvc3    $_POST['A1_'.$contador];    $pvc4    $_POST['A2_'.$contador];    $detalle $_POST['descripcion'.$contador];     if(empty($cantidad)) break;     //echo "Item $item <br> Cantidad $cantidad <br> Base $base <br> Altura $altura <br> L1 $pvc1 <br> L2 $pvc2 <br> A1 $pvc3 <br> A2 $pvc4 <br> Descripcion $detalle <br><br>";    $result=mysql_query("INSERT INTO solicitud_corte_det  (id, item, cantidad, base, altura, detalle, material, rota, pvc1, pvc2, pvc3, pvc4)                        VALUES ($id, $item, $cantidad, $base, $altura, '$detalle', '$material', '0','$pvc1', '$pvc2', '$pvc3', '$pvc4')", $conexion);     if(!$result)    {        echo "Hubo un error al guardar detalle de la Solicitur de Corte";        break;    }     $contador = $contador + 1;}; if(result){    echo "La Solicitud de Corte fue enviada correctamente";} $nombre_archivo = "prueba.txt"; //aca tines eq poner el codigo-------------------------------------------------------------------------------- if (!$gestor = fopen($nombre_archivo, 'w')) {     echo "<br>No se puede abrir el archivo ($nombre_archivo)";     exit;} $result = mysql_query("select  cliente, correo, telefono, fax, material from solicitud_corte_cab where id=$id", $conexion);$registro = mysql_fetch_row($result);     $cliente = $registro[0];    $correo = $registro[1];    $telefono = $registro[2];    $fax = $registro[3];    $material = $registro[4];     $linea = $cliente . "," . $correo . "," . $telefono . "," . $material . "," . $cantidad ."," . $base ."," . $altura ."," . $detalle ."\n";//    $linea = $cliente . "," . $cantidad . "," . $base . "," . $altura . "," . $detalle ."\n";      if (fwrite($gestor, $linea) == FALSE) {        echo "No se puede escribir al archivo ($nombre_archivo)";//        exit;    }//TABLA DETALLES ---------------------------------------------------------------------------------------------------------------------------------- $result = mysql_query("select  id, item, cantidad, base, altura, detalle, material, rota, pvc1, pvc2, pvc3, pvc4, mel1, mel2, mel3, mel4 from solicitud_corte_det where id=$id", $conexion); while($registro=mysql_fetch_row($result)){      $id = $registro[0];    $item = $registro[1];    $cantidad = $registro[2];    $base = $registro[3];    $altura = $registro[4];    $detalle = $registro[5];    $material = $registro[6];    $rota = $registro[7];    $pvc1 = $registro[8];    $pvc2 = $registro[9];    $pvc3 = $registro[10];    $pvc4 = $registro[11];    $mel1 = $registro[12];    $mel2 = $registro[13];    $mel3 = $registro[14];    $mel4 = $registro[15];      $linea = $item . "\n";     if (fwrite($gestor, $linea) == FALSE) {        echo "No se puede escribir al archivo ($nombre_archivo)";        exit;    }} fclose($gestor);include "bd_cerrar.php"; ?><script language=javascript>window.location.href='mo_enviado.php';</script>";
mi base de datos es esta:
Código:
-- phpMyAdmin SQL Dump
-- version 2.11.0
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 17-06-2008 a las 15:51:31
-- Versión del servidor: 4.1.22
-- Versión de PHP: 5.2.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `maderbas_bdgestion`
--
CREATE DATABASE `maderbas_bdgestion` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `maderbas_bdgestion`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `material`
--

CREATE TABLE `material` (
  `codigo` int(11) NOT NULL default '0',
  `descripcion` varchar(255) NOT NULL default '0',
  `base` int(11) NOT NULL default '0',
  `altura` int(11) NOT NULL default '0',
  `precio` int(11) NOT NULL default '0',
  `espesor` int(11) NOT NULL default '0',
  `m2_rtes` float NOT NULL default '0',
  `m2_placas` float NOT NULL default '0',
  `m2_totales` float NOT NULL default '0',
  `pre_rtes` float NOT NULL default '0',
  `pre_placas` float NOT NULL default '0',
  `pre_totales` float NOT NULL default '0',
  `Kg_rtes` float NOT NULL default '0',
  `Kg_placas` float NOT NULL default '0',
  `Kg_totales` float NOT NULL default '0',
  PRIMARY KEY  (`codigo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `material`
--

INSERT INTO `material` VALUES(1, 'MASISA  AZUL 6X8X9mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(2, 'MASISA AZUL 6X8X15mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(3, 'MASISA  AZUL 6X8X18mm', 2480, 1810, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(4, 'MASISA  BLANCO  6X8X9mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(5, 'MASISA  BLANCO  6X8X15mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(6, 'MASISA BLANCO  6X8X18mm', 2480, 1810, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(7, 'MASISA CEDRO  6X8X15mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(8, 'MASISA CEDRO  6X8X18mm', 2480, 1810, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(9, 'MASISA CELESTE 6X8X15mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(10, 'MASISA  CELESTE 6X8X18mm', 2480, 1810, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(11, 'MASISA  CEREZO 6X8X9mm', 2480, 1810, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO `material` VALUES(12, 'MASISA  CEREZO 6X8X15mm', 2480, 1810, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `solicitud_corte_cab`
--

CREATE TABLE `solicitud_corte_cab` (
  `id` int(11) NOT NULL auto_increment,
  `cliente` varchar(50) NOT NULL default '',
  `correo` varchar(50) default NULL,
  `telefono` varchar(20) default NULL,
  `fax` varchar(20) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='Solicitudes de Corte de Clientes' AUTO_INCREMENT=9 ;

--
-- Volcar la base de datos para la tabla `solicitud_corte_cab`
--

INSERT INTO `solicitud_corte_cab` VALUES(8, 'ACIST PERU SAC', '[email protected]', '6280755', '6280755');
INSERT INTO `solicitud_corte_cab` VALUES(7, 'ACIST PERU SAC', '[email protected]', '6280755', '6280755');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `solicitud_corte_det`
--

CREATE TABLE `solicitud_corte_det` (
  `id` int(11) NOT NULL default '0',
  `item` int(11) NOT NULL default '0',
  `cantidad` int(11) default '0',
  `base` int(11) default '0',
  `altura` int(11) default '0',
  `detalle` varchar(100) default NULL,
  `material` varchar(8) default NULL,
  `rota` char(1) default NULL,
  `pvc1` char(1) default NULL,
  `pvc2` char(1) default NULL,
  `pvc3` char(1) default NULL,
  `pvc4` char(1) default NULL,
  `mel1` char(1) default NULL,
  `mel2` char(1) default NULL,
  `mel3` char(1) default NULL,
  `mel4` char(1) default NULL,
  PRIMARY KEY  (`id`,`item`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Solicitudes de Corte de Clientes';

--
-- Volcar la base de datos para la tabla `solicitud_corte_det`
--

INSERT INTO `solicitud_corte_det` VALUES(8, 4, 15, 658, 100, '3333', '289', '0', 'D', 'D', 'D', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(8, 3, 23, 150, 300, '2222', '289', '0', 'D', 'G', 'G', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(8, 2, 54, 1000, 111, '111', '289', '0', 'D', 'G', 'D', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(7, 3, 23, 150, 300, '2222', '289', '0', 'D', 'G', 'G', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(7, 4, 15, 658, 100, '3333', '289', '0', 'D', 'D', 'D', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(8, 1, 10, 1000, 1000, 'BLANCO, ROJO, BLANCO', '289', '0', 'D', 'G', 'D', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(7, 2, 54, 1000, 111, '111', '289', '0', 'D', 'G', 'D', 'G', NULL, NULL, NULL, NULL);
INSERT INTO `solicitud_corte_det` VALUES(7, 1, 10, 1000, 1000, 'BLANCO, ROJO, BLANCO', '289', '0', 'D', 'G', 'D', 'G', NULL, NULL, NULL, NULL);
mi problema es que solo me imprimen los campos cliente, correo, telefono, material pero el resto de campos como cantidad, base, altura y detalle no me imprimen, a que se debe eso? gracias por la ayuda que me den
  #2 (permalink)  
Antiguo 15/07/2008, 11:40
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ayuda con impresion de php en txt

Hola dannysoft

pues el detalle es que solo guarda esto:
Código PHP:
$linea $item "\n"
deberia guardar la contatenación:
Código PHP:
$linea $item "," $cantindad "," $base... "\n"
Otro punto es que usas "==" (si son iguales)
Código PHP:
if (fwrite($gestor$linea) == FALSE) { 
debes de usar "===" (si son iguales y si son del mismo tipo)
Código PHP:
if (fwrite($gestor$linea) === FALSE) { 
Saludo2
__________________

  #3 (permalink)  
Antiguo 15/07/2008, 11:52
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ayuda con impresion de php en txt

gracias por la respuesta amigo tenias razon ya puedo enviar lo datos pero ahora me piden otra cosa: que esos datos que se generan en el txt, o sea el txt que esta en el servidor los envie con php a una direccion de correo como archivo adunto, como hago eso?

Última edición por dannysoft; 15/07/2008 a las 12:01
  #4 (permalink)  
Antiguo 15/07/2008, 12:14
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ayuda con impresion de php en txt

Pues para envio de mails esta la función mail(). Te recomiendo que busques scripts hechos para facilitarte el trabajo, hay muchos y muy buenos como por ejemplo phpmailer.

Suerte.
__________________

  #5 (permalink)  
Antiguo 15/07/2008, 12:32
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ayuda con impresion de php en txt

lo voy a intentar, otra pregunta, bueno cuando genero mi txt hay unas variables que me guardan estos valores:

Código PHP:
$linea $cantidad "," $base "," $altura "," $material "," $detalle ."," $pvc1 ."," $pvc2 ."," $pvc3 ."," $pvc4 ."\n"
donde : . $pvc1 ."," . $pvc2 ."," . $pvc3 ."," . $pvc4 ."\n"; me guardan valores de G o D dependiendo de lo que se elija lo que quiero es que antes que se impriman haga esto: si no se elige nada se guarde el valor de 0 (cero) en $pvc1 y se imrprima en el txt y si elijo cualquier valor ya sea G o D, me guarde 1, asi por el estilo con los 4pvc, como hago eso en php?
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:59.