Foros del Web » Programando para Internet » PHP »

De Php a Csv

Estas en el tema de De Php a Csv en el foro de PHP en Foros del Web. Hola, tengo este archivo generado por un scrip php Cita: Categorias,26/10/2012 19:00,26/10/2012 20:00,26/10/2012 21:00,26/10/2012 22:00,26/10/2012 23:00,27/10/2012 00:00,27/10/2012 01:00,27/10/2012 02:00,27/10/2012 03:00,27/10/2012 04:00,27/10/2012 05:00,27/10/2012 06:00,27/10/2012 07:00,27/10/2012 08:00,27/10/2012 ...
  #1 (permalink)  
Antiguo 29/10/2012, 16:13
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
De Php a Csv

Hola, tengo este archivo generado por un scrip php


Cita:
Categorias,26/10/2012 19:00,26/10/2012 20:00,26/10/2012 21:00,26/10/2012 22:00,26/10/2012 23:00,27/10/2012 00:00,27/10/2012 01:00,27/10/2012 02:00,27/10/2012 03:00,27/10/2012 04:00,27/10/2012 05:00,27/10/2012 06:00,27/10/2012 07:00,27/10/2012 08:00,27/10/2012 09:00,27/10/2012 10:00,27/10/2012 11:00,27/10/2012 12:00,27/10/2012 13:00,27/10/2012 14:00,27/10/2012 15:00,27/10/2012 16:00,27/10/2012 17:00,27/10/2012 18:00
Precipitacion,0.0,0.0,0.0,2.6,2.6,1.2,3.8,7.6,11.2 ,0.2,0.0,2.8,1.8,2.4,2.6,1.2,3.8,1.6,1.2,2.0,0.4,1 .8,0.2,0.
Temperatura,15.6,14.4,13.8,13.3,12.9,12.8,12.7,12. 7,12.9,13.2,13.4,12.3,11.9,11.3,10.4,10.3,9.8,9.6, 10.2,9.6,9.6,8.5,8.5,8.1
Presion,962.6,963.2,963.6,963.8,963.9,964.1,964.2, 964.4,965.1,965.7,966.0,967.0,968.3,969.4,970.8,97 2.5,973.4,974.5,975.1,975.3,975.9,976.3,977.0,977. 8
Necesito el mísmo archivo clonado exactamente, utilizo este script:


Código:
<?php
include("myfile.php"); // Conexion a nuestra BD

header("Content-type: application/csv");

$tutorial = strip_tags($cadena);

header("Content-Disposition: attachment; filename=NEW.csv");

header("Pragma: no-cache");
header("Expires: 0");
?>
Pero el resultado no es exacto, los saltos de linea aparecen con la etiqueta </ br>


Cita:
Categorias,26/10/2012 18:00,26/10/2012 19:00,26/10/2012 20:00,26/10/2012 21:00,26/10/2012 22:00,26/10/2012 23:00,27/10/2012 00:00,27/10/2012 01:00,27/10/2012 02:00,27/10/2012 03:00,27/10/2012 04:00,27/10/2012 05:00,27/10/2012 06:00,27/10/2012 07:00,27/10/2012 08:00,27/10/2012 09:00,27/10/2012 10:00,27/10/2012 11:00,27/10/2012 12:00,27/10/2012 13:00,27/10/2012 14:00,27/10/2012 15:00,27/10/2012 16:00,27/10/2012 17:00<br/>Precipitacion,0.0,0.0,0.0,0.0,2.6,2.6,1.2,3.8,7.6 ,11.2,0.2,0.0,2.8,1.8,2.4,2.6,1.2,3.8,1.6,1.2,2.0, 0.4,1.8,0.2<br/>Temperatura,16.1,15.6,14.4,13.8,13.3,12.9,12.8,12 .7,12.7,12.9,13.2,13.4,12.3,11.9,11.3,10.4,10.3,9. 8,9.6,10.2,9.6,9.6,8.5,8.5<br/>Presion,962.3,962.6,963.2,963.6,963.8,963.9,964.1 ,964.2,964.4,965.1,965.7,966.0,967.0,968.3,969.4,9 70.8,972.5,973.4,974.5,975.1,975.3,975.9,976.3,977 .0
Alguien sabe como modificar el script para que aparezca ninguan etiquteta html?

Lo necesito para utilizar como archivo csv

Gracias
  #2 (permalink)  
Antiguo 29/10/2012, 16:30
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: De Php a Csv

Se me ocurren muchas formas, prueba a ver como te funciona.

1. Usa trim para quitar espacios en blanco para evitar que se formen espacios y no se forme los br.
2. Con str_replace busca los br y reemplazalos por nada.
3. Es raro que no te sirva con strip_tags, deberia funcionar.

Bueno, seguro que con algunas de estas se deberia lograr.
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 30/10/2012, 12:11
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: De Php a Csv

Despúes de mil pruebas, me resulta incapaz, cierto es que no tengo mucha idea de php y posiblemente coloque las etiquetas en el sitio equivocado, pero de tantas pruebas que hice alguna tenía que haber acertado........

más sugerencias?..........
  #4 (permalink)  
Antiguo 30/10/2012, 14:29
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: De Php a Csv

Cita:
Despúes de mil pruebas, me resulta incapaz, cierto es que no tengo mucha idea de php y posiblemente coloque las etiquetas en el sitio equivocado, pero de tantas pruebas que hice alguna tenía que haber acertado........
Sera que dentro de tus mil pruebas nos podrias mostrar lo que hiciste? Por mas basicos que sean tus conocimientos tu error puede ser algo tan sencillo como un punto y coma pero al no ver tu codigo nos es materialmente imposible saber que puede estar fallando. La unica saga de magos que conozco es Harry Potter y creeme que por aca no existe ninguno de ellos.

Quedamos atentos a tu respuesta.
__________________
Blog de humor http://elcuasatar.net63.net/
  #5 (permalink)  
Antiguo 30/10/2012, 15:11
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: De Php a Csv

Cita:
<?php
include("myfile.php"); // Conexion a nuestra BD

header("Content-type: application/csv");

$tutorial = strip_tags($cadena);

header("Content-Disposition: attachment; filename=NEW.csv");

header("Pragma: no-cache");
header("Expires: 0");
?>
Pues a lo que dedique fue a rastrear la web en busca de códigos que hiciesen el trabajo, encontré varios, uno de ellos este que vemos aquí.
fui modificando y agregando expresiones que encontraba por la red.

La búsqueda consistía en "de php a csv" y las cadenas que tu mismo me apuntabas, pero me temo que no las aplicaba correctamente, debido al desconocimiento general que tengo de php.

Tampoco era plan de apuntar todas aquí, porque o no funcionaba o hacían lo mismo que el código que apunto, digamos que di palos de ciego.
  #6 (permalink)  
Antiguo 30/10/2012, 15:30
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: De Php a Csv

Mejor cuento el cuento entero:

estoy tratando de hacer un gráfico dinámico con los últimos datos del observatorio de mi ciudad. consigo qué funcione sí construyo manualmente el csv, porque del csv original no soy capaz de extraer los datos necesarios, si ha podido un amigo hacerlo en php, pero claro......no soy capaz hacer que el gráfico funcione con el "data.php"

http://www.forosdelweb.com/f18/error-sintaxis-1020547/

Por eso otra de las opciones es reconvertir de nuevo a csv el data.php que genera los datos que se pueden ver en este mismo post.

Resumiendo con data.csv todo va correcto pero no soy capaz a extraer los datos y con php obtengo los datos correctamente pero no de implementarlos.

Espero haber explicado bien el problema.
  #7 (permalink)  
Antiguo 30/10/2012, 16:39
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: De Php a Csv

Pues no muestras nada nuevo de codigo. Ni te tomaste la molestia de mirar mis sugerencias a ver si funcionaban.

yo haria algo asi:
Código PHP:
$texto="este es mi texto<br/>este es otro texto";
$aguja="<br/>";
$reemplazar="";
$csv str_replace($aguja$reemplazar$texto);
echo 
csv
Igual revisalo que lo he escrito de afan, para eso tienes el manual de PHP.

En teoria con eso deberias solucionar tu problema y por favor no digas: Despúes de mil pruebas, me resulta incapaz sin siquiera tomarte la molestia de mirar las sugerencias que uno buenamente hace. No esperes que la gente haga tu trabajo sin al menos mostrar un poco de esfuerzo..

p.s. la opción b es usar un str_replace que quite retorno de carro, de linea y demas que seguro eso generan el problema. Ya te deje la idea, averigua que de pronto esa es una solución mas general y seria con el mismo str_replace
__________________
Blog de humor http://elcuasatar.net63.net/
  #8 (permalink)  
Antiguo 30/10/2012, 23:47
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: De Php a Csv

hice algunas pruebas pero sin exito tampoco

Código:
<?php
//CONSULTA
include("oviedo.php"); // Conexion a nuestra BD
while ($reg = mysql_fetch_array($sql))
$tutorial = strip_tags($cadena);
$texto = str_replace(array("\n","\r"), "", $texto);
$aguja="<br/>";
$reemplazar="";
$csv = str_replace($aguja, $reemplazar, $texto);
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=clasi.csv");
echo $shtml; 
?>
y el resultado sigue siendo:

Cita:
Categorias,30/10/2012 07:00,30/10/2012 08:00,30/10/2012 09:00,30/10/2012 10:00,30/10/2012 11:00,30/10/2012 12:00,30/10/2012 13:00,30/10/2012 14:00,30/10/2012 15:00,30/10/2012 16:00,30/10/2012 17:00,30/10/2012 18:00,30/10/2012 19:00,30/10/2012 20:00,30/10/2012 21:00,30/10/2012 22:00,30/10/2012 23:00,31/10/2012 00:00,31/10/2012 01:00,31/10/2012 02:00,31/10/2012 03:00,31/10/2012 04:00,31/10/2012 05:00,31/10/2012 06:00<br/>Precipitacion,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0. 0,0.0,0.0<br/>Temperatura,4.1,4.0,4.6,6.0,9.8,9.9,12.2,13.4,13.0 ,13.5,12.9,11.8,10.9,9.9,9.1,7.9,7.3,6.7,6.2,5.7,5 .2,4.9,4.5,4.2<br/>Presion,965.8,965.2,965.3,965.5,965.4,965.1,964.6, 963.9,963.2,962.8,962.8,962.7,963.0,963.2,963.2,96 3.1,963.1,962.5,962.3,962.0,961.8,961.5,961.4,961. 0
Te recuerdo que este "quote" cambia cada hora $texto="cambia casa hora<br/>este es otro texto";

Última edición por raposu; 31/10/2012 a las 00:32 Razón: aportar más datos
  #9 (permalink)  
Antiguo 31/10/2012, 06:15
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: De Php a Csv

Al ver tu codigo me surgen demasiadas dudas:

Código PHP:
$texto str_replace(array("\n","\r"), ""$texto); 
De donde sale el texto "$texto" antes de que hagas el cambio?

Código PHP:
while ($reg mysql_fetch_array($sql)) 
Donde ejecutaste esa consulta $sql, en el include de oviedo?. Nunca estas usando la matriz $reg que generas.

Código PHP:
$tutorial strip_tags($cadena); 

Que es $cadena? para que vuelves a usar $tutorial? y asi podria continuar

En resumen honestamente no se como logras sacar algun valor porque no estas siguiendo una normativa de programación y tu código es muy dificil de seguir. Si reescribes de manera ordenada y clara tu código es mas facil colaborarte y sobre todo saber de donde salen los valores y para que se estan usando.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 31/10/2012 a las 06:56
  #10 (permalink)  
Antiguo 31/10/2012, 10:27
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: De Php a Csv

Mira Cuasatar, erá lo que trataba de explicar desde un principio, me defiendo bien en html, entiendo algo de javascript, pero de php ni idea, no se el orden de los código, vamos no se nada

Que hice?..... buscar en google y en este foro, scripts del tipo "extraer php a csv" etc... y encontre códigos que probando y probando algunos hacen lo que muestro al principio de este hilo.

Vamos casi todo el php que se lo aprendi a lo largo de este hilo. Por eso pido ayuda, si es algo en lo que me pueda defender, seguro que no hubiese acudido más que a la lectura del foro que es lo que siempre hago, pero cuando no tienes ni idea, no te queda otra alternativa que pedir que te lo digan.

Venga.....gracias y a ver si consigo finalizar el gráfico
  #11 (permalink)  
Antiguo 31/10/2012, 11:08
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: De Php a Csv

Hola, como podras entender aca todos colaboramos de muy buena voluntad (o por lo menos siempre trato de hacerlo) pero al no ser esto un soporte en linea ni nada por el estilo nosotros damos por sentado que algunas cosas ya las dominas y no podemos entrar al detalle porque si no nos demorariamos 20 o 30 posts en resolver un problema.

De todas las soluciones que encontre por internet me parece que esta es la mas clara que puedes llegar a encontrar (estoy tratando de pensar en alguien que tenga conocimientos nulos o minimos)

http://webintenta.com/crear-un-fiche...-phpmysql.html

Lo que si no puedo decirte es como funciona una por una las funciones de php y adivinar que es lo que haces mal. Ahi si te toca por tu cuenta usar el manual de usuario y revisar una por una las funciones que muestra el script para que entiendas que hace cada una

http://php.net/manual/en/index.php

Mi sugerencia es que no trates de correr todo el script de una. Ve probandolo poco a poco y verifica que los valores que necesitas te salgan. (usando la funcion echo puedes imprimir). primero prueba que conecta la base de datos, luego la consulta etc. Si planeas correr un script de una sin saber que hace te sera mas dificil modificarlo.

Animo con eso, a mi me ha tocado hacer macros en excel sin ninguna experiencia previa y esta es la hora que no se como funciona el lenguaje visual.

Cuando ya tengas algo mas concreto nos comentas. Colaborarte podemos, hacer la tarea por ti no.
__________________
Blog de humor http://elcuasatar.net63.net/
  #12 (permalink)  
Antiguo 31/10/2012, 11:08
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
agregar datos de forma dinámica con php

Necesito saber si se puede actualizar los siguientes datos (remarcados en negrita y en rojo en el code) dinamicante a través de php, bueno........ supongo que si, aunque yo no tengo ni idea, así que acudo con la esperanza de que alguien me pueda dejar un ejemplo el cual pueda comprender para terminar yo el trabajo.

Ya tengo un "data.php" que obtiene esos datos, categorías, lluvia, temperatura y presión atomósferica, solo se trataría de leerlos del data.php e implementarlos en las diferentes categorías.

El data.php y este codigo irían en el mismo directorio.

Bueno, a ver si tengo suerte, gracias


Código:
$(function () {
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                zoomType: 'xy'
            },
            title: {
                text: 'Average Monthly Weather Data for Tokyo'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: [{
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            }],
            yAxis: [{ // Primary yAxis
                labels: {
                    formatter: function() {
                        return this.value +'°C';
                    },
                    style: {
                        color: '#89A54E'
                    }
                },
                title: {
                    text: 'Temperature',
                    style: {
                        color: '#89A54E'
                    }
                },
                opposite: true
    
            }, { // Secondary yAxis
                gridLineWidth: 0,
                title: {
                    text: 'Rainfall',
                    style: {
                        color: '#4572A7'
                    }
                },
                labels: {
                    formatter: function() {
                        return this.value +' mm';
                    },
                    style: {
                        color: '#4572A7'
                    }
                }
    
            }, { // Tertiary yAxis
                gridLineWidth: 0,
                title: {
                    text: 'Sea-Level Pressure',
                    style: {
                        color: '#AA4643'
                    }
                },
                labels: {
                    formatter: function() {
                        return this.value +' mb';
                    },
                    style: {
                        color: '#AA4643'
                    }
                },
                opposite: true
            }],
            tooltip: {
                formatter: function() {
                    var unit = {
                        'Rainfall': 'mm',
                        'Temperature': '°C',
                        'Sea-Level Pressure': 'mb'
                    }[this.series.name];
    
                    return ''+
                        this.x +': '+ this.y +' '+ unit;
                }
            },
            legend: {
                layout: 'vertical',
                align: 'left',
                x: 120,
                verticalAlign: 'top',
                y: 80,
                floating: true,
                backgroundColor: '#FFFFFF'
            },
            series: [{
                name: 'Rainfall',
                color: '#4572A7',
                type: 'column',
                yAxis: 1,
                data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    
            }, {
                name: 'Sea-Level Pressure',
                type: 'spline',
                color: '#AA4643',
                yAxis: 2,
                data: [1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7],
                marker: {
                    enabled: false
                },
                dashStyle: 'shortdot'
    
            }, {
                name: 'Temperature',
                color: '#89A54E',
                type: 'spline',
                data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
            }]
        });
    });
    
});
y este es el data.php

Cita:
Categorias,26/10/2012 19:00,26/10/2012 20:00,26/10/2012 21:00,26/10/2012 22:00,26/10/2012 23:00,27/10/2012 00:00,27/10/2012 01:00,27/10/2012 02:00,27/10/2012 03:00,27/10/2012 04:00,27/10/2012 05:00,27/10/2012 06:00,27/10/2012 07:00,27/10/2012 08:00,27/10/2012 09:00,27/10/2012 10:00,27/10/2012 11:00,27/10/2012 12:00,27/10/2012 13:00,27/10/2012 14:00,27/10/2012 15:00,27/10/2012 16:00,27/10/2012 17:00,27/10/2012 18:00
Precipitacion,0.0,0.0,0.0,2.6,2.6,1.2,3.8,7.6,11.2 ,0.2,0.0,2.8,1.8,2.4,2.6,1.2,3.8,1.6,1.2,2.0,0.4,1 .8,0.2,0.
Temperatura,15.6,14.4,13.8,13.3,12.9,12.8,12.7,12. 7,12.9,13.2,13.4,12.3,11.9,11.3,10.4,10.3,9.8,9.6, 10.2,9.6,9.6,8.5,8.5,8.1
Presion,962.6,963.2,963.6,963.8,963.9,964.1,964.2, 964.4,965.1,965.7,966.0,967.0,968.3,969.4,970.8,97 2.5,973.4,974.5,975.1,975.3,975.9,976.3,977.0,977. 8
  #13 (permalink)  
Antiguo 31/10/2012, 13:00
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: agregar datos de forma dinámica con php

O.o??? no entiendo lo que necesitas y no se en que parte tienes el php, lo único que veo es javascript
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #14 (permalink)  
Antiguo 31/10/2012, 13:12
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: agregar datos de forma dinámica con php

cierto es que no ves más que javascript, pero me parecio el sitio más apropiado para poner este post.

Entiendo que no hay otra forma de obtener datos de "data.php" que no seá a través del propio lenguaje de php

Y necesito:

extraer los datos de data.php (este recoge la temperatura lluvia etc. de forma dinámica) e introducirlos en el javascript que adjunto.

Los datos que hay en el javascript (por ejemplo: temperatura) son datos fijos, yo lo que necesito es un script en php que busque la fila de la temperatura en data.php y la escriba dentro del javascript.

resumiendo, necesito datos de un archivo.php y escribirlos en un javascript (los dos en el mismo servidor)

Si algun modereador ve conveniente mover el post a otro lugar que lo mueva.

venga, gracias
  #15 (permalink)  
Antiguo 04/11/2012, 10:44
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
extraer un csv exacto

Hola, necesito extraer un data.csv con los datos que genera este php (algo que me resulta imposible porque siempre me genera </br>

En caso positivo, se puede hacer que cargue la página automáticamente cada cierto tiempo?

los datos que genera "....data.php" son estos:

Cita:
Categorias,04/11/2012 16:00,04/11/2012 15:00,04/11/2012 14:00,04/11/2012 13:00,04/11/2012 12:00,04/11/2012 11:00,04/11/2012 10:00,04/11/2012 09:00,04/11/2012 08:00,04/11/2012 07:00,04/11/2012 06:00,04/11/2012 05:00,04/11/2012 04:00,04/11/2012 03:00,04/11/2012 02:00,04/11/2012 01:00,04/11/2012 00:00,03/11/2012 23:00,03/11/2012 22:00,03/11/2012 21:00,03/11/2012 20:00,03/11/2012 19:00,03/11/2012 18:00,03/11/2012 17:00
Precipitacion,0.0,0.0,0.0,0.0,0.4,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0. 2,0.0,0.2
Temperatura,10.8,10.4,10.0,10.1,9.4,9.1,8.7,8.9,8. 4,8.5,8.3,8.5,8.5,8.9,9.2,9.3,9.3,9.3,10.0,10.1,10 .0,10.0,10.1,10.5
Presion,968.5,968.6,968.3,968.4,968.4,968.2,968.2, 967.5,966.6,966.3,966.0,965.5,965.6,965.9,965.9,96 6.3,966.4,966.5,966.8,967.1,967.1,967.1,966.9,966. 4
Código:
<?php

// primero se abre el documento en modo lectura "r" (read)
$handle = fopen("http://www.aemet.es/es/eltiempo/observacion/ultimosdatos_oviedo_20121008173202.csv?k=ast&l=1249X&datos=det&w=0&f=temperatura&x=", "r");

// creamos una variable que la llamaremos CONTADOR_LINEA para ir contando las líneas del documento

$contador_linea = 1;

// creamos una variable que la llamaremos CONTADOR

$contador = 0;

// se hace un WHILE que irá sacando datos mientras siga habiendo en el documento

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
 
 // el bucle coge una línea con datos y las vamos guardando en diferentes matrices $fecha[1] para el primer dato de fecha, y lo mismo con temperatura, precipitacion y presión.
 
    // cuando llegue al final de while y repita de nuevo el procedimiento, con $fecha[2] se guardará el segundo dato de fecha. Lo mismo con temperatura, precipitacion y presión.
 
 //los datos los irá guardando a partir de la linea deseada. lo especificamos con un IF y la variable CONTADOR_LINEA
 
 if ($contador_linea >= 5){
   $contador++; //sumamos una unidad a CONTADOR y guardamos datos
   $Categorias[$contador] = $data[0];
   $Precipitacion[$contador] = $data[6];
   $Temperatura[$contador] = $data[1];
   $Presion[$contador] = $data[7];
 }
 //sumamos una unidad mas a contador_linea y seguimos con la linea siguiente
 $contador_linea++;
  
}

//cerramos el documento con FCLOSE.

fclose($handle);

// vamos a crear otra variable llamada RECUENTO. Con él vamos a ir pasando desde el principio todas las matrices.

$recuento=1;

// Comenzamos con Fecha. Escribimos primero la categoría con su coma.

echo 'Categorias,';

// Hacemos un bucle WHILE. Mientras la variable recuento sea menor o igual que CONTADOR (el número máximo de datos que tenemos guardados).

while($recuento <= $contador){
 
    //si recuento es igual a contador, significa que es el último, entonces lo escribimos sin la coma.
 
 // sino es igual entonces lo escribimos con coma
 
 if($recuento == $contador){
   echo $Categorias[$recuento];
 }
 else{
   echo $Categorias[$recuento].',';
 }
 //sumamos una unidad más a recuento y continuamos haciendo el while mientras siga siendo igual o menor que contador.
 $recuento++;
}

//escribimos el salto de línea puesto que ya acabamos con la primera categoría.

echo "<br/>";

// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.

$recuento=1;

echo 'Precipitacion,';

while($recuento <= $contador){
 if($recuento == $contador){
   echo $Precipitacion[$recuento];
 }
 else{
   echo $Precipitacion[$recuento].',';
 }
 $recuento++;
}

echo "<br/>";


// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.

$recuento=1;

echo 'Temperatura,';

while($recuento <= $contador){
 if($recuento == $contador){
   echo $Temperatura[$recuento];
 }
 else{
   echo $Temperatura[$recuento].',';
 }
 $recuento++;
}

echo "<br/>";
// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.

$recuento=1;

echo 'Presion,';

while($recuento <= $contador){
 if($recuento == $contador){
   echo $Presion[$recuento];
 }
 else{
   echo $Presion[$recuento].',';
 }
 $recuento++;
}


?>
  #16 (permalink)  
Antiguo 05/11/2012, 22:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: extraer un csv exacto

Un <br/> es un salto de linea para HTML no para CSV.

Lo que necesitas es usar un salto de linea real, es decir, "\n".
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 06/11/2012, 16:02
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: extraer un csv exacto

Cita:
Iniciado por pateketrueke Ver Mensaje
Un <br/> es un salto de linea para HTML no para CSV.

Lo que necesitas es usar un salto de linea real, es decir, "\n".
Estoy de acuerdo contigo, pero siempre que intento extraer un .csv de ese php, me viene de regalo </br>
  #18 (permalink)  
Antiguo 06/11/2012, 16:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: extraer un csv exacto

¿Ese .php es tuyo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 06/11/2012, 16:32
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: extraer un csv exacto

Si.... Bueno me lo hicieron, tengo muy poca idea de php.

Etiquetas: csv, exacto, html, variables, formulario
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 15:03.