Para converter um campo mysql (quantidade) com a data 30/12/2012 8:31 para outro campo (data_agendada) na mesma tabela porém com a data padrão MySQL (AAAA-mm-dd HH:ii)
UPDATE `tabela` SET data_agendada =STR_TO_DATE(quantidade, "%d/%m/%Y %H:%i") WHERE data_agendada = '0000-00-00 00:00:00';
segunda-feira, 6 de fevereiro de 2012
terça-feira, 6 de dezembro de 2011
PHP - Find File Extension - Achar os últimos 4 caracteres de uma string - Extensão do Arquivo
Vamos supor que vc queira trocar o nome de uma imagem sem ter q ficar fazendo isso manualmente, por exemplo o nome da figura é:
Captura de tela 2011-12-06 às 19.09.20.png
E esta guardado em $arquivo_name (usado para fazer uploads)
$arquivo_name = $_FILES['arquivo']['name'];
$final = $arquivo_name;
$final = substr($final,(strlen($final)-4),strlen($final));
Ou seja $final = ".png";
Veja q nesse caso não há como usar o list/explode uma vez q o "." aparece inúmeras vezes.
ou
Captura de tela 2011-12-06 às 19.09.20.png
E esta guardado em $arquivo_name (usado para fazer uploads)
$arquivo_name = $_FILES['arquivo']['name'];
$final = $arquivo_name;
$final = substr($final,(strlen($final)-4),strlen($final));
Ou seja $final = ".png";
Veja q nesse caso não há como usar o list/explode uma vez q o "." aparece inúmeras vezes.
ou
$info = pathinfo($filename);
$name = $info['filename'];
$ext = $info['extension'];
// Shorter
$name = pathinfo($file, PATHINFO_FILENAME);
// Or in PHP 5.4
$name = pathinfo($filename)['filename'];
quinta-feira, 17 de novembro de 2011
PHP - Somar ou Subtrair dias/meses de uma data - Add or Subtract days/months from a date
Adicionar
♦ 10 dias a partir de hoje
echo date('d/m/Y', strtotime("+10 days"));
♦ 10 dias a partir de uma data
echo date('d/m/Y', strtotime("+10 days",strtotime('20-07-2011')));
Subtrair
♦ 10 dias a partir de hoje
echo date('d/m/Y', strtotime("-10 days"));
♦ 10 dias a partir de uma data
echo date('d/m/Y', strtotime("-10 days",strtotime('20-07-2011')));
Se você tem o PHP 5.3 ou maior | If you have PHP 5.3 or higher
Adicionar - Add
Meses
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->add(new DateInterval('P'.$parcelas.'M'));
$termino_pagamento=$data_termino->format('Y-m-d');
Dias
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->add(new DateInterval('P'.$parcelas.'D'));
$termino_pagamento=$data_termino->format('Y-m-d');
Subtrair - Subtract
Meses
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->sub(new DateInterval('P'.$parcelas.'M'));
$termino_pagamento=$data_termino->format('Y-m-d');
Dias
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->sub(new DateInterval('P'.$parcelas.'D'));
$termino_pagamento=$data_termino->format('Y-m-d');
♦ 10 dias a partir de hoje
echo date('d/m/Y', strtotime("+10 days"));
♦ 10 dias a partir de uma data
echo date('d/m/Y', strtotime("+10 days",strtotime('20-07-2011')));
Subtrair
♦ 10 dias a partir de hoje
echo date('d/m/Y', strtotime("-10 days"));
♦ 10 dias a partir de uma data
echo date('d/m/Y', strtotime("-10 days",strtotime('20-07-2011')));
Se você tem o PHP 5.3 ou maior | If you have PHP 5.3 or higher
Adicionar - Add
Meses
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->add(new DateInterval('P'.$parcelas.'M'));
$termino_pagamento=$data_termino->format('Y-m-d');
Dias
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->add(new DateInterval('P'.$parcelas.'D'));
$termino_pagamento=$data_termino->format('Y-m-d');
Subtrair - Subtract
Meses
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->sub(new DateInterval('P'.$parcelas.'M'));
$termino_pagamento=$data_termino->format('Y-m-d');
Dias
$inicio='2016-01-01';
$parcelas=5;
$data_termino = new DateTime($inicio);
$data_termino->sub(new DateInterval('P'.$parcelas.'D'));
$termino_pagamento=$data_termino->format('Y-m-d');
sexta-feira, 7 de outubro de 2011
MySQL Copiar uma linha de uma tabela para outra - Copy a row to other table
Para tabelas IDENTICAS inclusive o ID (campo autoincrement):
insert into tabela2 select * from tabela1 where id='1'
Para tabelas com IDs diferentes**:
insert into tabela2 (`apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao`) select `apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao` from tabela1 where id='1'
** basta tirar a coluna ID, no meu caso é a primeira coluna.
Para mudar apenas um valor** entre as tabelas:
insert into tabela2 (`apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao`) select 'LA WEB', `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao` from tabela1 where id='1'
** notem que no select ao invés de apelido esta 'La Web' ou seja todos os apelidos vão ser gravados como La Web, as aspas simples são obrigatórias.
insert into tabela2 select * from tabela1 where id='1'
Para tabelas com IDs diferentes**:
insert into tabela2 (`apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao`) select `apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao` from tabela1 where id='1'
** basta tirar a coluna ID, no meu caso é a primeira coluna.
Para mudar apenas um valor** entre as tabelas:
insert into tabela2 (`apelido`, `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao`) select 'LA WEB', `empresa`, `endereco`, `cidade`, `estado`, `cnpj`, `ie`, `ccm`, `cep`, `tipo`, `data_cadastro`, `data_update`, `endereco_faturamento`, `cidade_faturamento`, `estado_faturamento`, `cep_faturamento`, `cnpj_faturamento`, `ie_faturamento`, `ccm_faturamento`, `endereco_extra`, `cidade_extra`, `estado_extra`, `cep_extra`, `gringa`, `pais`, `status_envio`, `acao` from tabela1 where id='1'
** notem que no select ao invés de apelido esta 'La Web' ou seja todos os apelidos vão ser gravados como La Web, as aspas simples são obrigatórias.
segunda-feira, 25 de julho de 2011
MySQL Concatenar (juntar) variaveis
Abaixo a rotina para juntar variaveis que estejam em duplicidade de id_carro e data de inserção:
SELECT id, GROUP_CONCAT(id_carro SEPARATOR '|'), GROUP_CONCAT(pod SEPARATOR '|'), sum( valor )
FROM planilha_carros
GROUP BY id_carro, data_insercao
HAVING COUNT( * ) >1
SELECT id, GROUP_CONCAT(id_carro SEPARATOR '|'), GROUP_CONCAT(pod SEPARATOR '|'), sum( valor )
FROM planilha_carros
GROUP BY id_carro, data_insercao
HAVING COUNT( * ) >1
terça-feira, 12 de julho de 2011
MySQL pesquisa entre tabelas para achar id que não estão em uma delas
Quando vc tem duas tabelas e quer saber qual id da tabela principal não esta na tabela secundária:
SELECT tabela1.id_carro from tabela1 WHERE tabela1.id_carro NOT IN
( SELECT tabela2.id_carro FROM tabela2)
Onde id_carro é o campo em comum entre as tabelas.
SELECT tabela1.id_carro from tabela1 WHERE tabela1.id_carro NOT IN
( SELECT tabela2.id_carro FROM tabela2)
Onde id_carro é o campo em comum entre as tabelas.
quarta-feira, 1 de junho de 2011
MySQL e PHP, caracteres estranhos no lugar do acento
As vezes migrando uma base de dados de um servidor para o outro, ou upload para a tabela mysql, aparecem caracteres estranhos no lugar dos acentos e por mais que vc mude o <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> ou use a função UTF8_decode nada funciona...
Achei essa função do PHP que funcionou no meu caso:
$entrega_cidade = htmlentities($row['entrega_cidade'], ENT_QUOTES, "UTF-8");
_
Achei essa função do PHP que funcionou no meu caso:
$entrega_cidade = htmlentities($row['entrega_cidade'], ENT_QUOTES, "UTF-8");
_
sábado, 28 de maio de 2011
TAB automático
O exemplo abaixo executa uma function de ajax (validator) previamente escrita, após serem digitados 11 caracteres:
<input class='preto' size=14 type=text name='campo' maxlength=11 id='campo' onkeyup='if (document.getElementById("campo").value.length==11) validator(this.value);' />
Aqui o TAB muda para outro campo:
<input class='preto' size=14 type=text name='campo' maxlength=11 id='campo' onkeyup='if(document.getElementById("campo").value.length==11)
document.getElementById("campo2").focus();' />
<input type=text name=campo2 id='campo2' />
<input class='preto' size=14 type=text name='campo' maxlength=11 id='campo' onkeyup='if (document.getElementById("campo").value.length==11) validator(this.value);' />
Aqui o TAB muda para outro campo:
<input class='preto' size=14 type=text name='campo' maxlength=11 id='campo' onkeyup='if(document.getElementById("campo").value.length==11)
document.getElementById("campo2").focus();' />
<input type=text name=campo2 id='campo2' />
terça-feira, 18 de janeiro de 2011
Concatenar Varíaveis
Também conhecido como váriaveis váriaveis:
Quando houverem dentro de um loop apenas algumas váriaveis a serem "pescadas"...
<?php
$j=0;
for ($i=0;$i<10;$i++) {
if ($i==2) $a="jurubeba";
elseif ($i==3) $a="mate";
else $a='';
if ($a!='') { $j++; $c[$j]="$a";}
}
echo "<br/><br/>";
for ($x=1;$x<=$j;$x++) {
echo $c[$x];
echo "<br/>";
}
?>
Este exemplo foi criado para ser retirar as respostas de dentro uma variavel(observacao) de um loop de uma query, porém na hora de mostrar na tela devem ser mostradas como uma única observação separadas por cliente.
Ficando assim:
$vv=0;
for ($u=1;$u<=5;$u++) {
$res_fornecedor2 = mysql_query("select DATE_FORMAT(data, '%d/%m/%Y') as agendamentoC, hora, minuto, ajudantes, endereco, id_tipo, comentarios, peso_bruto from TABELA where id_tabela='$id_containerY[$u]'");
$linha_fornecedor2=mysql_fetch_array($res_fornecedor2);
$agendamento2 = $linha_fornecedor2['agendamentoC'];
$ajudantes2 = $linha_fornecedor2['ajudantes'];
$endereco2 = $linha_fornecedor2['endereco'];
$id_tipo_container2 = $linha_fornecedor2['id_tipo_container'];
$observacoes2 = $linha_fornecedor2['comentarios'];
$peso_bruto2 = $linha_fornecedor2['peso_bruto'];
if ($observacoes2) {$vv++; $output2 = str_replace(chr(10), '<br/>', $observacoes2); $observacoesX[$vv]="$output2";}
}
for ($xx=1;$xx<=$vv;$xx++) {
echo "$observacoesX[$xx]<br/>";
}
Se quiser guardar as infos dentro da variavel trocar:
echo "$observacoesX[$xx]<br/>";
por:
$observacoesX.="$observacoesX[$xx]<br/>";
Quando houverem dentro de um loop apenas algumas váriaveis a serem "pescadas"...
<?php
$j=0;
for ($i=0;$i<10;$i++) {
if ($i==2) $a="jurubeba";
elseif ($i==3) $a="mate";
else $a='';
if ($a!='') { $j++; $c[$j]="$a";}
}
echo "<br/><br/>";
for ($x=1;$x<=$j;$x++) {
echo $c[$x];
echo "<br/>";
}
?>
Este exemplo foi criado para ser retirar as respostas de dentro uma variavel(observacao) de um loop de uma query, porém na hora de mostrar na tela devem ser mostradas como uma única observação separadas por cliente.
Ficando assim:
$vv=0;
for ($u=1;$u<=5;$u++) {
$res_fornecedor2 = mysql_query("select DATE_FORMAT(data, '%d/%m/%Y') as agendamentoC, hora, minuto, ajudantes, endereco, id_tipo, comentarios, peso_bruto from TABELA where id_tabela='$id_containerY[$u]'");
$linha_fornecedor2=mysql_fetch_array($res_fornecedor2);
$agendamento2 = $linha_fornecedor2['agendamentoC'];
$ajudantes2 = $linha_fornecedor2['ajudantes'];
$endereco2 = $linha_fornecedor2['endereco'];
$id_tipo_container2 = $linha_fornecedor2['id_tipo_container'];
$observacoes2 = $linha_fornecedor2['comentarios'];
$peso_bruto2 = $linha_fornecedor2['peso_bruto'];
if ($observacoes2) {$vv++; $output2 = str_replace(chr(10), '<br/>', $observacoes2); $observacoesX[$vv]="$output2";}
}
for ($xx=1;$xx<=$vv;$xx++) {
echo "$observacoesX[$xx]<br/>";
}
Se quiser guardar as infos dentro da variavel trocar:
echo "$observacoesX[$xx]<br/>";
por:
$observacoesX.="$observacoesX[$xx]<br/>";
terça-feira, 7 de dezembro de 2010
JavaScript Marcar Desmacar Todas
Script mais básico:
<script>
function selecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=1
}
function deselecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=0
}
</script>
No HTML:
<input type=button onclick='selecionar_tudo()' value='Marcar' class=preto />
<input type=button onclick='deselecionar_tudo()' value='Desmarcar' class=preto />
Lembrar que "procurado" é o "name" do form...
Script mais complexo:
Colocar este script no topo da sua webpage:
<script>
function Marcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = true;
}
}
function DesMarcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = false;
}
}
</script>
O HTML deve ser:
<input type=checkbox name=id1 value=1 /> Papel
<input type=checkbox name=id2 value=2 /> Fruta
<input type=checkbox name=id3 value=3 /> Paisagem
<input type=radio name='mma_info' value=1 onclick=Marcar('id',0,3); /> SIM (Repetir a mesma informação para todos)
ou Não <input type=radio name='mma_info' value=0 onclick=DesMarcar('id',0,3); />
O funcionamento do onclick:
id == nome do campo
0 == posição (no caso de checkbox sempre 0)
3 == quantidade de campos
<script>
function selecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=1
}
function deselecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=0
}
</script>
No HTML:
<input type=button onclick='selecionar_tudo()' value='Marcar' class=preto />
<input type=button onclick='deselecionar_tudo()' value='Desmarcar' class=preto />
Lembrar que "procurado" é o "name" do form...
Script mais complexo:
Colocar este script no topo da sua webpage:
<script>
function Marcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = true;
}
}
function DesMarcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = false;
}
}
</script>
O HTML deve ser:
<input type=checkbox name=id1 value=1 /> Papel
<input type=checkbox name=id2 value=2 /> Fruta
<input type=checkbox name=id3 value=3 /> Paisagem
<input type=radio name='mma_info' value=1 onclick=Marcar('id',0,3); /> SIM (Repetir a mesma informação para todos)
ou Não <input type=radio name='mma_info' value=0 onclick=DesMarcar('id',0,3); />
O funcionamento do onclick:
id == nome do campo
0 == posição (no caso de checkbox sempre 0)
3 == quantidade de campos
terça-feira, 19 de outubro de 2010
ASP - Formulario q funciona com Flash
<%
Option Explicit
Response.Expires = 0
Dim Email, xEmail
Set Email=Server.Createobject("CDONTS.NewMail")
Email.From=Request.Form("email")
Email.To="seu@email.com.br"
Email.Subject= "Contato - Site"
xEmail = chr(10) & "Nome - " & Request.Form("nome") & CHR(13) & CHR(10)
xEmail = xEmail & "Endereço - " & Request.Form("endereco") & CHR(13) & CHR(10)
xEmail = xEmail & "Cidade - " & Request.Form("cidade") & CHR(13) & CHR(10)
xEmail = xEmail & "Estado - " & Request.Form("estado") & CHR(13) & CHR(10)
xEmail = xEmail & "E-mail - " & Request.Form("email") & CHR(13) & CHR(10)
xEmail = xEmail & "Fone - " & Request.Form("ddd") & Request.Form("fone") & CHR(13) & CHR(10)
xEmail = xEmail & "Info - " & Request.Form("info") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto standard - " & Request.Form("standard") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto superior - " & Request.Form("superior") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto master - " & Request.Form("master") & CHR(13) & CHR(10)
xEmail = xEmail & "Adultos - " & Request.Form("adultos") & CHR(13) & CHR(10)
xEmail = xEmail & "Crianças - " & Request.Form("criancas") & CHR(13) & CHR(10)
xEmail = xEmail & "Entrada - " & Request.Form("entrada") & CHR(13) & CHR(10)
xEmail = xEmail & "Saída - " & Request.Form("saida") & CHR(13) & CHR(10)
Email.Body = xEmail
Email.Send
Set Email=Nothing
Response.Redirect "pagina_de_agradecimento.htm"
%>
Option Explicit
Response.Expires = 0
Dim Email, xEmail
Set Email=Server.Createobject("CDONTS.NewMail")
Email.From=Request.Form("email")
Email.To="seu@email.com.br"
Email.Subject= "Contato - Site"
xEmail = chr(10) & "Nome - " & Request.Form("nome") & CHR(13) & CHR(10)
xEmail = xEmail & "Endereço - " & Request.Form("endereco") & CHR(13) & CHR(10)
xEmail = xEmail & "Cidade - " & Request.Form("cidade") & CHR(13) & CHR(10)
xEmail = xEmail & "Estado - " & Request.Form("estado") & CHR(13) & CHR(10)
xEmail = xEmail & "E-mail - " & Request.Form("email") & CHR(13) & CHR(10)
xEmail = xEmail & "Fone - " & Request.Form("ddd") & Request.Form("fone") & CHR(13) & CHR(10)
xEmail = xEmail & "Info - " & Request.Form("info") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto standard - " & Request.Form("standard") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto superior - " & Request.Form("superior") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto master - " & Request.Form("master") & CHR(13) & CHR(10)
xEmail = xEmail & "Adultos - " & Request.Form("adultos") & CHR(13) & CHR(10)
xEmail = xEmail & "Crianças - " & Request.Form("criancas") & CHR(13) & CHR(10)
xEmail = xEmail & "Entrada - " & Request.Form("entrada") & CHR(13) & CHR(10)
xEmail = xEmail & "Saída - " & Request.Form("saida") & CHR(13) & CHR(10)
Email.Body = xEmail
Email.Send
Set Email=Nothing
Response.Redirect "pagina_de_agradecimento.htm"
%>
Assinar:
Postagens (Atom)
Linux bash file returns unexpected token `$'do\r''
open file in vi edit with vi filename.sh command; type in vi :set ff=unix command; save file with :wq It will save the file with unix...
-
Adicionar ♦ 10 dias a partir de hoje echo date('d/m/Y', strtotime("+10 days")); ♦ 10 dias a partir de uma data echo ...
-
function retira_acentos($texto) { $array1 = array( "á", "à", "â", "ã", "ä", "é...