En este Blog estan publicados scripts y consultas importantes que no son utilizadas frecuentemente y que llegado el momento nos sirven u monton. Es por eso que me anime a crearlo para que sirva de consulta general; espero les sirva.
jueves, 21 de febrero de 2013
Hacer que un archivo .txt sea descargable
Necesitaba que un archivo .txt de mi servidor sea descargable y no se abra en el navegador.
Para ello encontré lo siguiente:
$nombre_archivo = "compras.txt";
$file = dirname(__FILE__)."/../../../../endesis/reportes_generados/".$nombre_archivo;
header("Content-disposition: attachment; filename=$nombre_archivo");
header("Content-type: application/octet-stream");
readfile($file);
Donde
$nombre_archivo: es el nombre del archivo mas la extencion
$file: es la ruta del archivo y el nombre del mismo
dirname(__FILE__): nod retorna la ruta actual
header: arma la cabecera con los parametros enviados
readfile: lee el archivo
Esta informacion la encontre en la siguiente pagina donde tambien se explica otra forma mas compleja de realizar la misma accion pero tambien mas segura.
:
http://www.ngeeks.com/2010/04/01/forzar-descargas-de-archivos-con-php/
Remplazar caracteres especiales e PHP
<? php
$ Original_string = "¿Dónde está El Niño Que Vive En El témpano here o en el iglú África, México, ÍNDICE, Canción y numero?.". ;
$some_special_chars = array("á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "ñ", "Ñ");
$replacement_chars = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "n", "N");
$ Replaced_string = str_replace ( $ some_special_chars , replacement_chars $ , $ original_string );
echo $ replaced_string ; / / Saca '¿Donde esta el nino Que vive aqui? En el tempano o en el iglu. AFRICA, MEXICO, INDICE, Canción y NUMERO ".
>
Crear una tabla en Postgres a partir de una consulta
Un comando muy útil lo utilice cuando necesitaba saber cual era el tipo de datos que me devolvía una consulta. Lo que hice fue crearme una tabla a partir de mi consulta y de esta forma saber los tipos de datos que tenían los campos.
La consulta tendría la siguiente sintaxis:
Grover
La consulta tendría la siguiente sintaxis:
CREATE
TABLE
tablaNueva
AS
SELECT
*
FROM
TABLAS
SaludosGrover
martes, 5 de febrero de 2013
Quitar tildes y convertir a mayúsculas en PostgreSQL
Tuve la necesidad de convertir un campo de texto a mayúsculas pero al hacerlo usando la función UPPER tenia un problema; me convertía todas las letras a mayúsculas excepto las que tenían tildes o diéresis.
Por ejemplo
Configuración usando solamente UPPER me lo dejaba como CONFIGURACIóN
Para corregir este error utilice una función adicional denominada TRANSLATE
Al final mi consulta quedo de la siguiente manera:
UPDATE sci.tct_auxiliar SET nombre_auxiliar = upper ( translate (nombre_auxiliar, 'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜñ', 'aeiouAEIOUaeiouAEIOUÑ') ) ;
Donde sci.tct_auxiliar es el nombre de la tabla
nombre_auxiliar es el campo que quiero actualizar a mayúsculas y sin tilde
upper la función que me convierte a mayúsculas y
la función que me convierte las letras con tilde a letras sin tilde
Primero quitamos las tildes al campo nombre_auxiliar. luego convertimos a mayúsculas y finalmente asignamos el valor al campo nombre_auxiliar.
El resultado final de Configuración convertido es CONFIGURACION
Espero les sea útil.
jueves, 10 de enero de 2013
Otra forma de quitar los ENTER de un campo de texto
--Actualizamos el campo quitando los ENTER del texto
Update presto.tpr_partida set
desc_partida= replace(presto.tpr_partida.desc_partida, '\n', ' ');
En este ejemplo el campo de texto se llama desc_partida.
Usamo la funcion de postgres replace para reemplazar los ENTER por ESPACIO en blanco o por cualquier otro simbolo..
miércoles, 9 de enero de 2013
Para reemplazar los ENTER en una cadena de texto almacenada en una tabla postgres.
A continuación una captura de pantalla:
Ahora el codigo para que puedan copiar y pegar.
--Listamos el dato original y el dato corregido
select
par.desc_partida,
replace(par.desc_partida, chr(13)||chr(10), ' ') as dato_sin_enter
from presto.tpr_partida par
where par.id_partida=2790;
--Actualizamos el campo quitando los ENTER del texto
Update presto.tpr_partida set
desc_partida= replace(presto.tpr_partida.desc_partida, chr(13)||chr(10), ' ')
where presto.tpr_partida.id_partida=2790;
Saludos
Grover
A continuación una captura de pantalla:
Ahora el codigo para que puedan copiar y pegar.
--Listamos el dato original y el dato corregido
select
par.desc_partida,
replace(par.desc_partida, chr(13)||chr(10), ' ') as dato_sin_enter
from presto.tpr_partida par
where par.id_partida=2790;
--Actualizamos el campo quitando los ENTER del texto
Update presto.tpr_partida set
desc_partida= replace(presto.tpr_partida.desc_partida, chr(13)||chr(10), ' ')
where presto.tpr_partida.id_partida=2790;
Saludos
Grover
Suscribirse a:
Entradas (Atom)