- Fórum WMO
- → Squall Robert's Content
Squall Robert's Content
There have been 53 items by Squall Robert (Search limited from 20/04/2023)
#1020015 Mostrar Varios Itens De Session
Posted by Squall Robert on 11/03/2013, 15:07 in PHP
da um print_r() da SESSION das keys e posta ai que eu resolvo pra vc.
#1020014 Formulário - Validação Campos
Posted by Squall Robert on 11/03/2013, 15:00 in PHP
mas se vc precisa checar se todas as variaveis tem alguma valor vc pode fazer assim
if($p3_pergunta_11_a != "" ||$p3_pergunta_11_b != "" || $p3_pergunta_11_c != "") { // e assim por diante. // mas o idela e vc pegar no vetor POST e ficar checando. }
#1019811 Somar Parcelas Pagas De Um Membro
Posted by Squall Robert on 18/12/2012, 10:14 in PHP
vc faz uma subconsulta para somar os valores pagos
pelo que entendi , a tabela que consta os pagos é de 1 pra muitos.
ou seja
SELECT membros.*, (SELECT SUM(valorpago) FROM tabela_pago WHERE id_membro = mebro.id) as valor_pago FROM membros;
mais ou menos isso
#1019401 Charset Para Variáveis Php
Posted by Squall Robert on 13/09/2012, 18:27 in PHP
#1019400 Problema Com Inner Join
Posted by Squall Robert on 13/09/2012, 18:22 in PHP
e tratar dentro do laço de reptição
dentro do while ou foreach
vc salva a id da categoria em um variavel e sempre checa
tipo de for = 0 ou diferente da vara que vc criou vc cria o item da lista que corresponde a categoria e adiciona o item nesta lista
se for igal a sua var vc so adiicona a lista
mais ou menos isso.ç..
#1019380 Upload De Imagens Com Redimensionamento De Tamanho Especifico
Posted by Squall Robert on 11/09/2012, 14:09 in PHP
<?php /** * @author squall * @copyright 2009 */ class Thumbs { //variaveis necessárias para gerar thumbs public $caminho; public $nome ; public $largura_max; public $altura_max; public $arquivo; public $ext; public $tipo ; public $ImagemGerada; public function Thumbs() { // definindo valores padrão de variaveis $this->tipo = 1; $this->nome = date('YmdHis'); $this->altura_max = 80; $this->largura_max = 250; } //preparando imagem public function Prepare() { // verifica imagem se existe if(file_exists($this->arquivo)) { // gerando nome da nova imagem $this->NomeImagem(); if($this->arquivo != $this->ImagemGerada) { $img_tamanho = @getimagesize($this->ImagemGerada); if(!file_exists($this->ImagemGerada) || $img_tamanho[0] > $this->largura_max || $img_tamanho[1] > $this->altura_max) { // pegando extensão da imagem $this->ext = substr($this->arquivo,-3); // verificando se o caminho e existente/ se não cria diretório $this->CriarDir(); // gerando imagem $this->Gerar(); return $this->ImagemGerada; } else return $this->ImagemGerada; // retorno da imagem existente } else { // pegando tamanho da imagem $img_tamanho = @getimagesize($this->arquivo); if(!file_exists($this->ImagemGerada) || $img_tamanho[0] > $this->largura_max || $img_tamanho[1] > $this->altura_max) { // pegando extensão da imagem $this->ext = substr($this->arquivo,-3); // verificando se o caminho e existente/ se não cria diretório $this->CriarDir(); // gerando imagem $this->Gerar(); return $this->ImagemGerada; } else return $this->ImagemGerada; // retorno da imagem existente } } else return false; //retorna false se o arquivo nao for encontrado } // Gerador de Thumbs public function Gerar() { // se extesão for jpg if($this->ext == "jpg") { $imagem_orig = @imagecreatefromjpeg($this->arquivo); } elseif($this->ext=="png") { $imagem_orig = @ImageCreateFromPNG($this->arquivo); } elseif($this->ext=="gif") { $imagem_orig = @ImageCreateFromGIF($this->arquivo); } // pegando tamanhos da imagem $largura_original = @ImagesX($imagem_orig); $altura_original = @ImagesY($imagem_orig); $altura = $altura_original; $largura = $largura_original; if( $largura > $this->largura_max) { $largura = $this->largura_max; $altura = $altura * ($largura / $largura_original); } if($altura > $this->altura_max) { $largura = $largura * ($this->altura_max/$altura); $altura = $this->altura_max; } //gerando imagem final $imagem_final=@ImageCreateTrueColor($largura,$altura); @ImageCopyResampled($imagem_final,$imagem_orig, 0, 0, 0, 0,$largura,$altura,$largura_original,$altura_original); $imagem_ext=@substr($this->arquivo,-3); // gerando arquivo if(strtolower($this->ext=="jpg")) @imagejpeg($imagem_final,$this->ImagemGerada,80); if(strtolower($this->ext == "png")) @imagepng($imagem_final,$this->ImagemGerada); if(strtolower($this->ext == "gif")) @imagegif($imagem_final,$this->ImagemGerada); // destruindo informações desnecessárias @imageDestroy($imagem_orig); @imageDestroy($imagem_final); //retornando caminho da nova imagem } public function CriarDir() { if(!is_dir($this->caminho)) { mkdir($this->caminho,0777); } } public function NomeImagem() { //pegando nome original da imagem $imagemLimpando = @explode("/",$this->arquivo); $imagemNome = $imagemLimpando[(count($imagemLimpando) - 1)]; // se o tipo for igual a 1 ele usa o nome original da imagem // se não ele usa o timestamp para gerar um nome unico if($this->tipo == 1) $imagem_gerada=$this->caminho . $imagemNome; else $imagem_gerada = $this->caminho . $this->nome . "." . $this->ext; $this->ImagemGerada = $imagem_gerada; // echo "ESTA E A IMAGEM GERARAD" . $this->ImagemGerada . "<BR>"; } } ?>
para usar basta fazer isso
//$thumbs = new Thumbs(); //$thumbs->caminho = "imagens/logomarcas/"; //$thumbs->arquivo = $_SESSION['usuario']['configuracoes']['arquivo_logomarca']; //$imagem = $thumbs->Prepare();
#1019379 Pula Sequencia De Registro
Posted by Squall Robert on 11/09/2012, 14:07 in PHP
faça um looping com resultado e compare....
#1019378 Verificar Se O Registro Já Existe
Posted by Squall Robert on 11/09/2012, 14:02 in PHP
isso faz com que se existir ele atualiza se nao insere...
mas no seu caso e mais simples....
faz uma consulta e com o resultado vc verifica se tem ou nao ....
#1019377 Paginação Estilizada
Posted by Squall Robert on 11/09/2012, 13:59 in PHP
#1019376 Erro: Object Of Class Requerimento Could Not Be Converted To String In
Posted by Squall Robert on 11/09/2012, 13:59 in PHP
#1019309 Filtrar Dados
Posted by Squall Robert on 30/08/2012, 17:42 in PHP
select a.id, a.pedidofisico, a.data, a.cliente, a.cpf_cnpj, a.data, b.id_pedido, b.valorun, b.valorreal, b.precodif, b.produto, b.qtd, b.qtd1, b.saldo from pedido a, pedido_itens b where a.pedidofisico = '263068' AND a.pedidofisico = b.id_pedido order by a.id DESC
e no banco existe o pedido do resultado
select a.id, a.pedidofisico, a.data, a.cliente, a.cpf_cnpj, a.data, b.id_pedido, b.valorun, b.valorreal, b.precodif, b.produto, b.qtd, b.qtd1, b.saldo from pedido a INNER JOIN pedido_itens b ON (a.pedidofisico = b.id_pedido) where a.pedidofisico = '263068' order by a.id DESC
aparentement esta normal...
mas precisa ver os GET´S para entender como isso esta chegando...
#1019302 Formulário Php
Posted by Squall Robert on 30/08/2012, 11:37 in PHP
cria um form com nomes todos como vetor "[]"
ai so colocar em um form onde a quantidade do for é o numero que vc deseja criar de form...
quando vc der submit vc vai poder pegar os dados como vetor
#1019292 Filtrar Dados
Posted by Squall Robert on 28/08/2012, 11:18 in PHP
resultado foi:
Resource id #7
tira o mysqlquery
e imprime
#1019268 Envio Maximo De E-Mails Em Php
Posted by Squall Robert on 24/08/2012, 12:02 in PHP
o ideal e fazer com que seja desparados aos pocos....
#1019267 Mandar Email Com Php
Posted by Squall Robert on 24/08/2012, 12:00 in PHP
#1019266 Multipla Ordenação
Posted by Squall Robert on 24/08/2012, 11:58 in PHP
#1019265 Consulta Complexa X Excesso De Registros
Posted by Squall Robert on 24/08/2012, 11:56 in PHP
mas para que fique rapido tem que tem uma configuração de banco razoavel e todas as tabelas tenha index e FK
#1019264 Ajuda Com Beteween
Posted by Squall Robert on 24/08/2012, 11:54 in PHP
ou -> SELECT cli_id,cli_nome FROM tb_clientes WHERE cli_dtcadastro BETWEEN ’2007-08-01′ AND ’2007-08-10′;
#1019263 Recuperar Variavel Apos Deletar Um Item
Posted by Squall Robert on 24/08/2012, 11:52 in PHP
com isso ele e elimitada a cada saida do programa.
session vai deixar arquivos na maquina .. e quando voê voltar para a tela direto vai aparecer o id la....
mas funciona tb....
#1019262 Ocultar Itens Do Menu
Posted by Squall Robert on 24/08/2012, 11:49 in PHP
você esta fazendo várias consultas para niveis do meu, em uma estrutura grande isso vai dicar muito pesado.
com uma consulta você resolve isso ..
e fazendo uma chamada recursiva você monta o menu...
segue um exemplo de chamada recursiva...
public function DesenharArvore( $arvore, $tipo = null, &$html = "") { if(is_array($arvore) && count($arvore) > 0) { foreach($arvore as $itemMenu) { //print_r($itemMenu); $nome = $itemMenu['nome']; $acao = $itemMenu['acao']; $modulo = $itemMenu['modulo']; $index = $itemMenu['index']; $target = $itemMenu['target']; $pai = $itemMenu['id_pai']; // Verifica se item � um menu pai if( count($itemMenu['filhos']) ) { $html .= "<li><a href='#' >$nome</a>\n"; $html .= " <ul>\n"; $this->DesenharArvore($itemMenu['filhos'], 1, $html); $html .= " </ul>\n"; $html .= "</li>\n"; } else { $html .= " <li><a href='$index?app_modulo=$modulo&app_comando=$acao&app_codigo=' target='$target'>$nome</a></li>\n"; } } } return $html; }
perceba que dentro da função ela se chama novamente.
com isso você tem subniveis ilimitados.
#1019261 Recuperar Valores Do Array
Posted by Squall Robert on 24/08/2012, 11:44 in PHP
mas uma dica e você usar o foreach
assim
foreach($_SESSION['cart'] as $col => $row)
{
// aqui voce tem todos os itens do carrinho
// onde $col, corresponde a indice do item
// e $row o valor..
}
#1019260 Filtrar Dados
Posted by Squall Robert on 24/08/2012, 11:39 in PHP
#1017867 Site Multi-Línguas
Posted by Squall Robert on 07/04/2012, 12:31 in PHP
assim é so carrewgar o arquivo que traduz tudo
#1017655 Pesquisa No Mysql - 2 Tabelas Ao Mesmo Tempo...
Posted by Squall Robert on 26/03/2012, 10:45 in PHP
Programas Utilizados
- Bancos de Dados (Firebird, Interbase, MySQL, etc.)
- Gerenciador de Bancos de Dados (IBExpert, IBOConsole, IBConsole, etc.)
- Tabelas abaixo
FILIAL
FIL_CODIGO FIL_NOME
1 MATRIZ
2 FILIAL 1
3 FILIAL 2
FUNCIONARIOS
FUN_CODIGO FIL_CODIGO FUN_NOME
1 1 JOÃO
2 2 JOAQUIM
3 2 JOSÉ
4 3 MÁRCIO
5 null PEDRO
Pequena História
Na verdade, utilizamos palavras em inglês, padronizadas pela ANSI (American National Standards Institute), originalmente criada pela IBM com o nome de SEQUEL (Structured English Query Language) e posteriormente abreviada para SQL, para efetuar consultas de dados a um banco de dados relacional. Mas o que vem a ser um Join? Esta palavra em inglês significa Unir ou União e a utilizamos quando precisamos buscar dados em outras tabelas desde que satisfaça as condições para isso.
Porém ainda paira a dúvida: utilizo Join, Inner Join, Left Join, Right Join ou me jogo do 14º Andar?
Esta história de direita e esquerda funciona em qualquer banco de dados relacional pois são padrões definidos para se manter a compatibilidade entre os bancos de dados. Imagine você como seria se para fazer uma busca no Firebird você tivesse de escrever:
SELECT * FROM FUNCIONARIOS
WHERE FIL_CODIGO = 1
E no DB2 fosse completamente diferente:
FROM FUNCIONARIOS WHERE FIL_CODIGO = 1 SELECT *
Isto certamente causaria um "Access Violation" em sua cabeça.
Vamos ao que interessa.
Entendendo LEFT, RIGHT e INNER
Quando dizemos que a tabela será Left ou Right, estamos informando ao comando SQL que ele deve obedecer o sentido para a Direita ou para a Esquerda, ou seja, ao utilizarmos Left Join o banco de dados irá analisar a estrutura da tabela da Direita e comparar com a tabela da Esquerda (leia-se Direita para a Esquerda), veja o desenho.
Left Join
Na primeira situação temos o Left Join, a seta está apontando para a tabela FUNCIONARIOS simbolizando que a precedência é da tabela da Esquerda, então podemos dizer que no select abaixo, serão listados todos os Funcionários, mesmo aqueles que não tem Filial cadastrada.
SELECT A.FUN_NOME, B.FIL_NOME FROM FUNCIONARIOS A
LEFT JOIN FILIAL B ON A.FIL_CODIGO = B.FIL_CODIGO
-- RESULTADO DA CONSULTA --
FUN_NOME FIL_NOME
JOÃO MATRIZ
JOAQUIM FILIAL 1
JOSÉ FILIAL 1
MÁRCIO FILIAL 2
PEDRO null
Repare que Pedro foi incluído no resultado, porém ele não possui uma Filial associada em seu cadastro. Este tipo de Join é o mais utilizado quando não se tem certeza que todos os registros possuem ligação entre as tabelas e também na maioria das vezes por questões de desempenho.
Right Join
Na segunda situação foi utilizado o Right Join, também conhecido apenas por Join, que aponta para a tabela FILIAL simbolizando a precedência da tabela da Direita, logo, concluímos que os dados da tabela Filial devem existir para que o registro seja trazido no Select.
SELECT A.FUN_NOME, B.FIL_NOME FROM FUNCIONARIOS A
RIGHT JOIN FILIAL B ON A.FIL_CODIGO = B.FIL_CODIGO
-- AINDA PODEMOS UTILIZAR SEM A PALAVRA RIGHT
/*
SELECT A.FUN_NOME, B.FIL_NOME FROM FUNCIONARIOS A
JOIN FILIAL B ON A.FIL_CODIGO = B.FIL_CODIGO
*/
-- RESULTADO DA CONSULTA --
FUN_NOME FIL_NOME
JOÃO MATRIZ
JOAQUIM FILIAL 1
JOSÉ FILIAL 1
MÁRCIO FILIAL 2
Note que o funcionário Pedro desta vez não foi incluído na lista de resultados, isto ocorreu porque esta consulta traz apenas registros onde existe um cadastro de Filial para o Funcionário.
Inner Join
Temos ainda a situação do Inner Join que nada mais faz do que observar se existem registros combinados em ambas as tabelas, ou seja, para que um registro seja incluído na lista de resultados, o campo de ligação entre duas tabelas deve satisfazer as condições em ambas. O resultado desta consulta seria algo muito semelhante ao Join.
Conclusão
Com algum conhecimento básico para interação entre tabelas, podemos efetuar consultas complexas ao banco de dados envolvendo resultados perfeitamente controlados. Isto garante não somente credibilidade em consultas mas também desempenho do sistema quando utilizado corretamente. Ainda existem outros tipos de Join, porém seus resultados são semelhantes ou seu uso é muito pouco frequente. Para quem quiser saber mais a respeito de consultas SQL, basta ler um livro de Banco de Dados (qualquer um que seja pois todos tem muito conteúdo sobre PL/SQL).
#1017635 Somar Coluna
Posted by Squall Robert on 24/03/2012, 09:45 in PHP
mas coloca o codigo inteiro para entender melhor
- Fórum WMO
- → Squall Robert's Content
- Privacy Policy
- Regras ·