Mostrando postagens com marcador PHP. Mostrar todas as postagens
Mostrando postagens com marcador PHP. Mostrar todas as postagens

quinta-feira, 30 de junho de 2016

Configurando acesso no Firebird através do php (xampp)

Primeiramente faça a instalação do Xampp normalmente, pode ser a ultima versão, baixa aqui, versões a baixo da 5 não teste, ou seja, pode ser que não funcione.

Instale o Firebird 32 bits, mesmo que sua maquina for 64, o php no xampp so reconhece a dll no 32 bits. Baixe o Firebird 2.5 aqui. Só testei na 2.5 assim não sei se funcia nas outras versões.

Feito isso abra o Painel de controle do Xampp e inicie o Apache.
abra o browser e verifique se vai aparecer o seguinte erro:

Fatal error: Call to undefined function ibase_connect() in ...

Se deu este erro que dizer que não consegui ler, ou conectar com o Firebird, isso pois não fizemos a conexão ainda :). Entao bora lá:

Primeiro passo:
Entre onde esta instalado o Firebird e copie o arquivo fbclient.dll, ele esta dentro da pasta bin,
Para mim o caminho é C:\Program Files (x86)\Firebird\Firebird_2_5\bin.

E cole dentro da pasta do sistema do windows:
para 32 bits:
C:\Windows\System32
para 64:
C:\Windows\SysWOW64

Segundo passo:
Abra o painel de controle do Xampp;
Clique em config, e depois em PHP(php.ini).
Ao abrir o arquivo aperte Ctrl+F para abrir a pesquisa e digite interbase.
Provalmente vai cair na linha:

;extension=php_interbase.dll

então você tira o ; da linha ficando

extension=php_interbase.dll

Salva o arquivo e fecha

agora inicie pare o apache clicando no botão stop e em seguida start para inicia-lo.
e pronto agora esta conectando o php no firebird.

Lembrando que o fbclient.dll deve ser do firebird 32bits.


sexta-feira, 1 de abril de 2016

Ordenar a matriz pela pela primeira coluna em php

Eae!
Fui desenvolver um relatório para um cliente onde preciso da data da ultima venda e cliente  da tabela, minha solução foi fazer um  distinct e um max no mesmo select. So que queria ordenar por data e não consegui fazer um order by e group by no mesmo select, então a solução for criar uma matriz e ordenar pela primeira coluna:


$sql = "select  distinct(venda.cliente), max(venda.data)
from vendawhere venda.data < '".$_POST['data']."' group by cliente";
$query = ibase_query ($dbh, $sql);
while($row = ibase_fetch_object ($query))
{
$registro[$cont][0] = $row -> MAX;
$registro[$cont][1] = $row ->CLIENTE;
$cont2 =0;
while($cont2 < $cont)
{
if(strtotime($registro[$cont][0]) > strtotime($registro[$cont2][0]))
{
$sup1 = $registro[$cont2][0];
$sup2 = $registro[$cont2][1];
$registro[$cont2][0] = $registro[$cont][0];
$registro[$cont2][1] = $registro[$cont][1];
$registro[$cont][0] = $sup1;
$registro[$cont][1] = $sup2;
}
$cont2++;
}
$cont++;
}

for($i = 0 ; $i< $cont ;$i++)
{
         echo  $registro[$i][0] ."-"$registro[$i][1]."<br>";
        }

Considerações:
- A comunicação foi feita com o banco Firebird e php.
- Os while pode ser trocados pro FOR.

sexta-feira, 4 de setembro de 2015

Iniciar o mysql junto com o windows 8, 8.1 e 10 (xampp)

crie um bat com o seguinte código:


if exist c:\windows\my.ini GOTO CopyINI
if exist c:\my.cnf GOTO CopyCNF
if not exist c:\windows\my.ini GOTO MainNT
if not exist c:\my.cnf GOTO MainNT

:CopyINI
copy c:\windows\my.ini /-y c:\windows\my.ini.old
del c:\windows\my.ini
GOTO WinNT

:CopyCNF
copy c:\my.cnf /-y c:\my.cnf.old
del c:\my.cnf
GOTO WinNT

:MainNT
copy "c:\xampp\mysql\bin\my.ini" /-y c:\windows\my.ini
c:\xampp\mysql\bin\mysqld --install mysql --defaults-file="c:\xampp\mysql\bin\my.ini"
echo Try to start the MySQL deamon as service ...
net start MySQL

pause

Execute ele uma vez como administrador e pronto o mysql esta iniciando junto com o windows.

Iniciando o apache junto com o windows 8,8.1 e windows 10

Eae pessoal, o xampp( pelo menos até agora) esta com problemas para iniciar junto com o windows, estou enfrentando esta dificuldade apartei do windows 8 para criar a iniciação que a qual era fácil anteriormente para se fazer: Ir no c:\xampp\apache\apache_installservice.bat  executar como administrador este bat  e pronto.
Bom decidi investigar e criei um bat assim para iniciar no windows 8, 8.1 e  10:

cd c:\xampp\apache\bin
httpd -k install
net start Apache2.4
pause

simples não?
so execute uma vez e pronto o apache inicia juntamente com o windows.
Só coloca o código acima em um bat e execute como administrador e seja feliz :)

terça-feira, 21 de outubro de 2014

Instalando PHP SOAP WSDL no Linux CentOS

Bem recentemente passei horas tentando fazer funcionar o SOAP com WSDL  que avisa  feito funcionar perfeitamente no windows(Xampp). Meu amigo Xampp vem com os pacotes necessarios na instalação sendo quando passei para o php cru no CentOS não funciono nada.
Pois bem depois de horas e hora de erro resolvi o problema... e o pior de tudo é que é facil... primeiro instale o SOAP e apos o XML .

yum install php-soap

yum install php-xml

Dependendo da versão será necessário alterar o php.ini.
nano /etc/php.ini

removendo o ; da frente ou acrescentando a linha
extension=soap.so

e pronto reinicie o serviço e esta pronto

service httpd restart

Fica a dica

segunda-feira, 13 de agosto de 2012

Conferencia de CNPJ e CPF em PHP

Código em PHP do verificador simples de CPF ou CNPJ, atribua o valor do seu documento no $documento para verificar se é valido.
1:  <?php  
2:   $documento = "";  
3:   $somatorio = '0';  
4:   $somatorio2 = '0';  
5:   //CPF  
6:   if(strlen($documento) =='11')  
7:   {  
8:   for($i==1;$i<9;$i++)  
9:     {  
10:     $somatorio = $somatorio + ($documento[$i-1] * $i);  
11:     }  
12:     $somatorio = $somatorio % 11;  
13:     if($somatorio == $documento[9])  
14:      {  
15:      for($j==0;$j<10;$j++)  
16:        {  
17:        $somatorio2 = $somatorio2 + ($documento[$j] * $j);  
18:        }  
19:        $somatorio2 = $somatorio2 % 11;  
20:        if($somatorio2 == $documento[10])  
21:         {  
22:         echo 'Documento correto!';  
23:         }else  
24:         echo 'Documento invalido!';  
25:      }else  
26:      echo 'Documento invalido!';  
27:   }  
28:   //CNPJ  
29:   else{  
30:     if(strlen($documento) =='14')  
31:      {  
32:      $cont = '6';  
33:      for($i==0;$i<12;$i++)  
34:        {  
35:        $somatorio = $somatorio + ($documento[$i] * $cont);  
36:        $cont = $cont + '1';  
37:        if($cont > '9')  
38:           $cont = '2';  
39:        }  
40:      $somatorio = $somatorio % 11;  
41:      if($somatorio == $documento[12])  
42:       {  
43:       $cont = '5';  
44:       for($j==0;$j<13;$j++)  
45:         {  
46:         $somatorio2 = $somatorio2 + ($documento[$j] * $cont);  
47:         $cont = $cont + '1';  
48:         if($cont > '9')  
49:           $cont = '2';  
50:         }  
51:        $somatorio2 = $somatorio2 % 11;  
52:        if($somatorio2 == $documento[13])  
53:         {  
54:         echo 'Documento correto!';  
55:         }else  
56:         echo "Documento invalido!";  
57:       }else  
58:         echo "Documento invalido!";  
59:      }else  
60:      echo "Documento invalido!";  
61:   }  
62:  ?>