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' />

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/>";

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

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"

%>

segunda-feira, 20 de setembro de 2010

VirtualBox e Ubuntu compartilhar pasta

Para compartilhar ou "montar" uma pasta compartilhada no Ubuntu basta dar o seguinte comando (como root):

mount -t vboxsf NOME_DA_PASTA_COMPARTILHADA NOME_DA_PASTA_NO_UBUNTU

quinta-feira, 2 de setembro de 2010

Microsoft muda alinhamento da tabela de left para center

A Microsoft mudou sem avisar ninguém o alinhamento automático das td de left para center, no IE8, ou seja quem nunca precisou declarar align=left por ser padrão agora precisa declarar, um absurdo, pois todos os outros browsers continuam como padrão left.

Mais uma vez a Microsoft atrapalhando a vida dos programadores.

quinta-feira, 24 de junho de 2010

MySQL Duplicidade - Achar e Apagar - Duplicated data - find and erase



Para achar quantos itens estão duplicados em uma coluna MySQL:

SELECT CAMPO_DESEJADO, COUNT( * )
FROM TABELA_DESEJADA
GROUP BY CAMPO_DESEJADO
HAVING COUNT( * ) >1


Para apagar os dados que estão em duplicidade, escolha um campo chave, no meu caso é o campo email:

ALTER IGNORE TABLE `tabela_desejada` ADD UNIQUE INDEX(email)

Lembre-se que depois desse comando o campo e-mail não vai mais permitir cadastros em duplicidade

Criando um rotina em PHP e deixando apenas um item - PHP routine and leave only one item

<?php
include_once "CONN.php";

$q="SELECT email, COUNT( * ) as counter FROM TABLE GROUP BY email HAVING COUNT( * ) >1";
$r=$pdo->prepare($q);
$r->execute();
$a=0;
while ($l=$r->fetch()) :
 $conta=0;
 $contador=0;
 $contador=$l[1];
 $conta=$contador-1;
 $d=$pdo->prepare("delete from TABLE where email='$l[0]'  limit $conta");
 if ($d->execute()) $a++;
endwhile;

echo "apagados $a e-mails";
?>

quinta-feira, 29 de abril de 2010

SSH



Quando der um pau de louco no SSH e vc obter esta resposta:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.


Faça o seguinte no shell de sua maquina:
ssh-keygen -R NUMERO_DO_SEU_IP

ssh-keygen -R site_q_quer_liberar.com.br

O comando acima zera as chaves SSH para o IP ou site informado.

sexta-feira, 26 de março de 2010

quarta-feira, 24 de março de 2010

Javascript e PHP - Botão Bold, Italico,Underline, e-mail e Http

Sei o que muitos vão dizer, pq não usar o WYSYS? Resposta simples, pq ele altera todo o padrão CSS ja pré-definido da pagina.

Para tirar o efeito por exemplo <b>laweb</b> vc deve selecionar desde <b até </b> e depois clicar no botão "Tirar Efeito".

Para poder usar o mesmo script em várias paginas eu dividi ele da seguinte maneira:

Script para usar em sua pagina PHP
<?php
$Nome_do_Campo = "agenda";
include_once("biu.php");
?>
<textarea cols="80" rows="10" name="agenda" class="preto" ></textarea>

Arquivo biu.php
<script type="text/javascript">
<!--
function formatText (el,tag) {
var selectedText=document.selection?document.selection.createRange().text:el.value.substring(el.selectionStart,el.selectionEnd);// IE:Moz
if (tag !='e' || tag !='h') var newText='<'+tag+'>'+selectedText+'</'+tag+'>';
if (tag=='e') var newText='<a href="mailto:'+selectedText+'">'+selectedText+'</a>';
if (tag=='h') var newText='<a href="http://'+selectedText+'" target=_blank>'+selectedText+'</a>';
if(document.selection){//IE
document.selection.createRange().text=newText;
}
else{//Moz
el.value=el.value.substring(0,el.selectionStart)+newText+el.value.substring(el.selectionEnd,el.value.length);
}

}

function formatText_tira (el) {
var selectedText=document.selection?document.selection.createRange().text:el.value.substring(el.selectionStart,el.selectionEnd);// IE:Moz
var newText=selectedText;
var oldText=selectedText;
for (i=1;i<=5;i++) { if (i==1) tag='b'; if (i==2) tag='i'; if (i==3) tag='u'; if (i<=3) { var tagX='<'+tag+'>';
var tagY='</'+tag+'>';
newText = newText.replace(tagX,'');
newText = newText.replace(tagY,'');
}
if (i==4) {
var tagJ=newText.split('<',1); if (!tagJ[0]) { var tagX=newText.split('>',2);
var tagY='</a';
newText = newText.replace(newText,tagX[1]);
newText = newText.replace(tagY,'');
}
}
if (i==5) {
var tagJ=newText.split('<',1); if (!tagJ[0]) { var tagX=newText.split('>',2);
var tagY='</a';
newText = newText.replace(newText,tagX[0]);
newText = newText.replace(tagY,'');
}
}
}
if (newText=="undefined") nextText=oldText;
if(document.selection){//IE
document.selection.createRange().text=newText;
}
else{//Moz
el.value=el.value.substring(0,el.selectionStart)+newText+el.value.substring(el.selectionEnd,el.value.length);
}

}
//-->
</script>

<style>
.button {
font-family:Tahoma, Verdana, Arial;
color: #000066;
font-size:12px;
font-weight:bold;
text-align:center;
background: #f5f5f5;
}
.button_tirar {
font-family:Tahoma, Verdana, Arial;
color: #CC0000;
font-size:12px;
font-weight:bold;
text-align:center;
background: #f5f5f5;
}
</style>

<table cellspacing=0 cellpadding=0><tr>
<td><input type="button" value="N" onclick="formatText (<?=$Nome_do_Campo?>,'b');" class=button /></td>
<td><input type="button" value="I" onclick="formatText (<?=$Nome_do_Campo?>,'i');" class=button /></td>
<td><input type="button" value="S" onclick="formatText (<?=$Nome_do_Campo?>,'u');" class=button /></td>
<td><input type="button" value="e-mail" onclick="formatText (<?=$Nome_do_Campo?>,'e');" class=button /></td>
<td><input type="button" value="link" onclick="formatText (<?=$Nome_do_Campo?>,'h');" class=button /></td>
<td><input type="button" value="Tirar Efeito" onclick="formatText_tira (<?=$Nome_do_Campo?>);" class=button_tirar /></td>
</tr></table>

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...