Como criar um arquivo CSV e gravar em um diretório.

CSV, PHP, apache 5 Comments » Marcelo Korjenioski

As fun­ções para mani­pu­lar arqui­vos no PHP são fopen(), fwrite() e fclose().

fopen() — Abre o arquivo
fwrite() — Escreve no arquivo
fclose() — Fecha o arquivo

Para­me­tros para lei­tura e escrita em um arquivo usando fopen();

‘r’ —  Abre somente para lei­tura e coloca o pon­teiro no começo do arquivo.

‘r+’ — Abre para lei­tura e gra­va­ção e coloca o pon­teiro no começo do arquivo.

‘w’ —  Abre somente para gra­va­ção e coloca o pon­teiro no começo do arquivo e apaga o con­teúdo que já foi escrito. Se o arquivo não exis­tir tenta criar.

‘w+’ — Abre para lei­tura e escrita e coloca o pon­teiro no iní­cio do arquivo e apaga o con­teúdo que já foi escrito. Se o arquivo não exis­tir tenta criar.

‘a’ —  Abre o arquivo somente para escrita e coloca o pon­teiro no fim do arquivo. Se o arquivo não exis­tir tenta criar.

‘a+’ — Abre o arquivo para lei­tura e gra­va­ção e coloca o pon­teiro no fim do arquivo. Se o arquivo não exis­tir tenta criar.

// getcwd() retorna o diretório atual em sucesso, ou FALSE em falha.
$caminho = getcwd(). '/csv/';
$data = date('d_m_y');
$file_path = $caminho.$data.'_lista.csv';

$dados = '';
// Nome das colunas
$dados .= 'NOME,IDADE';
$dados .="\n";
// Valores da Coluna

$dados .= 'Maria,21';
$dados .="\n";

$dados .= 'João,33';
$dados .="\n";

// Verifique se vc tem permissão de leitura e escrita neste diretorio
if(fwrite($file=fopen($file_path,'w+'),$dados)) {
fclose($file);
echo "Arquivo gravado com sucesso!";
} else {
echo "Erro ao abrir arquivo!";
}

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Criar SP (Stored Procedure) no MySql

MySQL, SQL No Comments » Marcelo Korjenioski

Exe­cute o codigo para criar a tabela tb_saldo.

CREATE TABLE tb_saldo (
fk_cliente int auto_increment primary key,
nome varchar(60) not null,
cpf varchar(20) not null unique,
saldo decimal(10,2),
dt_cadastro timestamp default current_timestamp
) Engine =InnoDB;

O código abaixo veri­fica se já existe uma pro­ce­dure com o mesmo nome. Caso exista ele deleta a pro­ce­dure e logo depois ele cria a sp_criar_usuario novamente.

GO
DROP PROCEDURE IF EXISTS sp_criar_usuario;
GO
create procedure sp_criar_usuario(v_nome varchar(60), v_cpf char(20), v_valor decimal(10,2))
BEGIN
IF ( (v_nome != '') AND (v_cpf != '') AND (v_valor >= 0) AND ((select count(cpf) from tb_saldo where cpf = v_cpf) = 0)) THEN
INSERT INTO tb_saldo (nome,cpf,saldo)
VALUES (v_nome, v_cpf,v_valor);
ELSE
SELECT 'Erro ao cadastrar!' AS Msg;
END IF;
END;

Crio a sto­red pro­ce­dure sp_credito para adi­ci­o­nar credito.

GO
DROP PROCEDURE IF EXISTS sp_credito;
GO
CREATE PROCEDURE sp_credito(v_cpf CHAR(20), v_valor DECIMAL(10,2))
BEGIN
IF (SELECT count(cpf) FROM tb_saldo WHERE cpf = v_cpf) THEN
UPDATE tb_saldo SET saldo = saldo + v_valor WHERE cpf = v_cpf;
ELSE
SELECT 'CPF não encontrado!' AS Msg;
END IF;
END;

Crio a sto­red pro­ce­dure sp_transferencia para trans­fe­rir cre­dito entre usuários.

GO
DROP PROCEDURE IF EXISTS sp_transferencia;
GO
CREATE PROCEDURE sp_transferencia(v_origem VARCHAR(20), v_destino VARCHAR(20), v_valor DECIMAL(10,2))
BEGIN
if ((select count(cpf) FROM tb_saldo WHERE cpf = v_origem AND saldo >= v_valor) > 0 AND (SELECT count(cpf) FROM tb_saldo WHERE cpf = v_destino) > 0 ) THEN
UPDATE tb_saldo SET saldo = saldo - v_valor WHERE cpf = v_origem;
UPDATE tb_saldo SET saldo = saldo + v_valor WHERE cpf = v_destino;
ELSE
SELECT 'Erro!' AS Msg;
END IF;
END;

Crio a sto­red pro­ce­dure sp_pks_clientes para retor­nar todas pk_cliente com o valor igual ou supe­rior ao infor­mado no argu­mento. O retorno é uma string sepa­randa por vir­gula.
A fun­ção group_concat ira con­ca­te­nar os regis­tros de fk_cliente para o retorno.

GO
DROP PROCEDURE IF EXISTS sp_pks_clientes;
GO
CREATE PROCEDURE sp_pks_clientes(v_valor DECIMAL(10,2))
BEGIN
DECLARE v_pks_clientes varchar(200);
SET v_pks_clientes = (SELECT group_concat(fk_cliente) AS codigos FROM tb_saldo  WHERE  saldo >= v_valor);
SELECT v_pks_clientes;
END;

Para cha­mar uma pro­ce­dure é neces­sá­rio usar “call sp_nome(argumentos);”.

Crio o usuá­rio Maria.

call sp_criar_usuario('Maria','03984582901','50');

Crio o usuá­rio João.

call sp_criar_usuario('João','12345678910','0');

Adi­ci­ono o valor para Maria

call sp_credito('03984582901',40);

Faço a transferencia

call sp_transferencia('03984582901','12345678910',40);

Veri­fico retorno de todas as pk_cliente em uma string com o valor igual ou supe­rior ao infor­mado na sp_usuarios.

call sp_usuarios(20);

Veri­fico se os valo­res estão corretos

select * from tb_saldo

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

FTP Online — http://www.net2ftp.com/

Ferramentas, Internet, Sites No Comments » Marcelo Korjenioski

Ótimo site de ftp online com ele é pos­si­vel edi­tar , remo­ver e adi­ci­o­nar seus arquivos.

Para aces­sar cli­que aqui.

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Designed by NattyWP Wordpress Themes.
Images by desEXign.