Ir para conteúdo
Fórum Script Brasil

Romero Dias

Membros
  • Total de itens

    591
  • Registro em

  • Última visita

Tudo que Romero Dias postou

  1. Vi em um site q se você estiver rodando o PHP sobre IIS com FastCGI Teria que marcar a opção: Instancias Máximas para: 1 Try setting the Max Instances setting, under IIS Server --> FastCGI Settings, to 1. Fonte: http://stackoverflow.com/questions/9284180...cgi-hogging-cpu
  2. Romero Dias

    Versionamento

    Tavares, Quando você der o commit, os arquivos serão analisados e copiados de sua pasta de trabalho para o repositório. Da uma lida neste post, é muito interessante: http://intentor.com.br/svn-conceitos-boas-...-de-utilizacao/
  3. Prezado, Não compreendi. Qual notificação é retornada? O que pude ver, nesta função não existe o tratamento se caso não for retornado registros do banco.
  4. Romero Dias

    Problemas com GROUP BY

    Julim, Você pode utilizar esta sentença SQL e fazer o tratamento da seguinte forma: Fiz um exemplo estático. Da uma olhada! $arrProduto = array( array('ID' => 12,'PROJETO' => 'teste' , 'PRODUTO' => 20, 'VALORTOTAL' => 1200), array('ID' => 12,'PROJETO' => 'teste' , 'PRODUTO' => 30, 'VALORTOTAL' => 1200), ); $arrProdutosOrganizados = array(); foreach($arrProduto as $produto) { $arrProdutosOrganizados[$produto['ID']]['ID'] = $produto['ID']; $arrProdutosOrganizados[$produto['ID']]['PROJETO'] = $produto['PROJETO']; $arrProdutosOrganizados[$produto['ID']]['PRODUTOS'][] = $produto['PRODUTO']; $arrProdutosOrganizados[$produto['ID']]['VALORTOTAL'] += $produto['VALORTOTAL']; } echo '<table border="1">'; //Impressão do projeto foreach($arrProdutosOrganizados as $produtoOrganizado) { echo "<tr><td>{$produtoOrganizado['ID']}</td><td>{$produtoOrganizado['PROJETO']}</td>"; //Impressão dos produtos foreach($produtoOrganizado['PRODUTOS'] as $produtoItem) { echo "<td>$produtoItem</td>"; } echo "<td>{$produtoOrganizado['VALORTOTAL']}</td></tr>"; } echo '</table>';
  5. Romero Dias

    Como começar.

    Prezado, Esta não é a política empregada nesta comunidade. Se não está satisfeito apenas cancele sua conta de usuário, não fique polemizando. Uma dica: Primeiro transcreva o que você já sabe Agora, para chegar onde quer você deve saber: Configuração do Apache, PHP e MySQL;Executar scripts PHP em seu Apache;Conectividade PHP e Banco de Dados;Escrever sentenças em SQL;HTML;JavaScript / jQuery;AJAX; Aqui não é um curso de PHP, os membros estão comprometidos em ajudar a tirar dúvidas e não a pegar na mão e escrever por você.
  6. Guilherme, Esse provavelmente não se trata de erro e sim uma implementação do PHP. Por motivo de desempenho, o PHP mantem um cache das informações retornadas pelos métodos is_readable() , is_file() entre outros. Utilize a função clearstatcache() para limpar as informações que o PHP mantem sobre um arquivo. <?php //gerar_log.php $p = 'erros/'.$arqErr; $o = 'temp/'.$arqErr; if(file_exists($o) && is_readable($o) && is_writable($o)){ if(!copy($o,$p)){ echo 'Não foi possivel mover "',$p,'" para "',$o,'"'; } if(file_exists($o) && is_readable($o) && is_writable($o)){ unlink($o);//remove temporário } } clearstatcache(); ?>
  7. Romero Dias

    Ajuda

    Ok, Qualquer dúvida estamos ai!
  8. Romero Dias

    Ajuda

    Olá Heloa, seja bem vinda ao forúm. Bom, a principio seria interessante você pesquisar um pouco sobre OOP em PHP. Sempre que colar algum código fonte no post, é interessante clicar no botão inserir code. Vamos lá.. PHP não é uma linguagem typada, então o que você fez aqui não deve funcionar: private String titulo; private int anoDePublicacao; private int nomeAutor; No PHP para você declarar um construtor de uma classe, a sintaxe é: function __construct() { } No em sua classe ficaria> Class Livro { function __construct() { } } Bom, não faz sentido declarar um construtor sem uma implementação. Então, com você mencionou, você precisa passar parâmetros para seu construtor: Ficaria algo do tipo: Class Livro { private $titulo; private $anoDePublicacao; private $nomeAutor; function __construct($titulo, $anoDePublicacao, $autor) { } } Agora, para você exibir as informações do seu objeto da classe Livro, no PHP, existe um método mágico chamado __toString(); Você terá que sobrescrever este método em sua classe Livro. Ficaria desta form Class Livro { function __toString() { return $this->titulo . ' - ' . $this->anoDePublicacao . ' ' . $this->nomeAutor; } } Quando você der um echo em qualquer objeto, o método __toString() será invocado; Agora é só você brincar um pouco.. Faça mais pesquisas.
  9. Realmente Willian, caso ele possuir acesso para executar comandos DDL, ele poderá adicionar um índice FULLTEXT. Ai fica mais fácil! Se eu não me engano, somente a partir da versão 3 do MySQL essa feature está disponível e este índice somente pode ser atribuído para tabelas do tipo MyISAM. Particularmente eu não gosto de trabalhar com MyISAM. Trabalho com InnoDB por permitir integridade referencial e suporte a transações.
  10. $frase = 'Faça um programa que recebe uma frase e mostre quantas letras diferentes ela contém!'; $a = str_split(str_replace(' ','',$frase),1); echo implode(' ',array_keys(array_flip($a)));
  11. Lidiane, Faça um exemplo de entrada e saída de sua função: Por exemplo: $fraseEntrada = 'Faça um programa que recebe uma frase e mostre quantas letras diferentes ela contém!'; $saida = 'F a ç u m p r o g q e c b f s t n l d i é !' //Letras diferentes Seria isso?
  12. Alessandro, Você pode utilizar a mesma sintaxe que utilizou no elemento checkbox. Em seu fonte HTML, você declara seu elemento que receberá o valor, identificando qual o id do movimento vinculado ao valor. Segue exemplo: <form action="" method="post"> <table> <tr><td><input type="text" name="valor[<?php echo $registro["id_conta"];?>]"/></td></tr> <tr><td><input type="text" name="valor[<?php echo$registro["id_conta"];?>]"/></td></tr> <tr><td><input type="text" name="valor[<?php echo $registro["id_conta"];?>]"/></td></tr> </table> <input type="submit" value="Confirmar"/> </form> Dessa forma, quando você recuperar os valores no PHP, você vai saber qual valor representa cada movimento. Faça os testes
  13. Under, Fiz um exemplo para você. Você pode refinar o código para realizar outros tipos de comparação, por exemplo: OR. $q = 'Rogério Silva Junior'; $prefixArg = ' NOME LIKE \'%'; $strArgs = $prefixArg . implode('%\' AND ' . $prefixArg , explode(' ',$q)) . '%\''; echo 'SELECT nome FROM colaboradores WHERE' . $strArgs; Será impresso: SELECT nome FROM colaboradores WHERE NOME LIKE '%Rogério%' AND NOME LIKE '%Silva%' AND NOME LIKE '%Junior%'
  14. Você pode implementar um argumento no método criarCombo Exemplo: /** * @param string $select Utilizado para passar o id da linha a ser selecionado */ function criarCombo($select=''){ $sql = "SELECT $this->dados, $this->fieldId FROM $this->table ORDER BY $this->dados"; $rs_sql = mysql_query($sql); $combo .= "<option value=\"\"></option>\n"; while($linha=mysql_fetch_array($rs_sql)){ $id = $linha[$this->fieldId]; $nome = $linha[$this->dados]; $combo = $combo . sprintf("<option value=\"$id\" %s>$nome</option>\n",($select==$id)? 'selected="selected"' : ''); } echo $combo; }
  15. Bicicleta, Já passei por uma situação parecida com a sua. Meu problema era garantir que somente um usuário (por vez) executaria algumas operações. Vou colar o fonte da minha classe. No meu caso, implementei utilizando interfaces e classes abstratas. Então simplifiquei o código, segue abaixo: Faça um teste class A { const STATUS_BLOQUEADO = 'BLOQUEADO'; const STATUS_DESBLOQUEADO = 'DESBLOQUEADO'; const STATUS_FILE = 'c:\StatusClasseA.txt'; /** * Armazena o status * @var string */ private $_status; /** * Realiza uma leitura do arquivo * @return string */ private function _fileRead() { return file_get_contents(self::STATUS_FILE); } /** * Escreve no arquivo * @param string $content */ private function _fileWrite($content) { file_put_contents(self::STATUS_FILE,$content); } /** * Recupera o status * @return void */ private function _processStatus() { $this->_status = $this->_fileRead(); } /** * Construtor * @uses A::_processStatus() Para recuperar o status * @uses A::_fileWrite() Para registrar o status de bloqueado * @return void */ public function __construct() { $this->_processStatus(); if($this->_status == self::STATUS_BLOQUEADO){ echo "A classe está sendo utilizada"; exit(); } echo 'Setando o arquivo para: ' . self::STATUS_BLOQUEADO . '<br>'; $this->_fileWrite(self::STATUS_BLOQUEADO); } /** * Realiza as operações * @return void */ public function operacoes() { echo 'Operações a serem realizadas no arquivo<br>'; sleep(10); $this->_desbloquear(); } /** * Registrar o status de desbloqueado * @return void */ private function _desbloquear() { echo 'setando o arquivo para:' . self::STATUS_DESBLOQUEADO . '<br>'; /* Ao terminar de utilizar a classe, seta o status para desbloqueado */ $this->_fileWrite(self::STATUS_DESBLOQUEADO); } } $a = new A; $a->operacoes();
  16. Utilize a função implode() para recuperar todos os elementos do array Exemplo: $nomes = implode(' ,',$nome_acompanhante); echo $nomes; Então você utiliza a variável $nomes para inserir ono banco.
  17. Romero Dias

    Calendario php

    Luiz, Utilize a função date('w') para saber qual o dia da semana, se for 0 ou 6 então é sábado ou domingo. Agora, para feriados, você terá que possuir um cadastro.
  18. Te aconcelho primeiro fazer desta forma. No HTML você tem que definir qual o tipo de método seu formulário irá utilizar ao enviar os dados para o PHP. Utilize o método POST. Defina qual o script que ele deverá requisitar, no atributo action do seu form. <form method='POST' action='calcular.php'> Agora você tem que implementar um arquivo calcular.php que irá recuperar os dados enviados pelo seu formulário HTML Arquivo calcular.php $lanches = $_POST['lanches']; $bebidas = $_POST['bebidas']; //Nas suas opções ADICIONAIS, o seu form enviará um array para o PHP. Então você tem que recupera o array e somar os elementos. $adicionais = $_POST['adicionais']; echo $bebidas + array_sum($adicionais); Só que no seu HTML, os atributos VALUES dos seu elementos devem conter os valores dos itens, assim: <div class="radio"> <input type=radio name=bebidas value="2.50" > Coca-Cola - R$ 2,50 - 350ML</br> <input type=radio name=bebidas value="2.20" > Fanta - R$ 2,20 - 290ML</br> <input type=radio name=bebidas value="1.90" > Suco de Laranja - R$ 1,90 - 300ML</br> <input type=radio name=bebidas value="2.50" > Guaraná - R$ 2,50 - 350ML </div> </br> <div class=labeladicionais>A D I C I O N A I S:</div> <div class="checkbox"> <input type=checkbox name="adicionais[]" value="0.50"> Egg - R$ 0,50 <br> <input type=checkbox name="adicionais[]" value="1.50"> Bacon - R$ 1,50 <br> <input type=checkbox name="adicionais[]" value="1.2"> Calabresa - R$ 1,20 <br> <input type=checkbox name="adicionais[]" value="0.30"> Maionese - R$ 0,30 </div>
  19. Tenta assim: foreach($_POST['servicos'] AS $key => $value);
  20. Jhones, Parece que a compatibilidade com php-dom possa estar desabilitada. Voce poderá verificar isso, invocando a função phpinfo(). Caso desabilitada, entre em contato com o Adm do server e solicite instalação do php-xml.
  21. Velho, 1º - O PHP não permite assinar um array para uma constante, constantes só aceitam variáveis do tipo scalar: integer, string, boolean e float define('minha_array', array('insert', 'delet', 'update','select'); Uma opção é adcionar esse array a sessão; $_SESSIONI['minha_array'] = array('insert', 'delet', 'update','select'); Então sua condição irá verifica o array que está registrado na sessão if(in_array($operacao, $_SESSION['minha_array']) === true)
  22. Romero Dias

    CTRL + C no PHP

    Velho, Da uma olhada fórum, tem posts interessantes: http://scriptbrasil.com.br/forum/index.php?showtopic=113753
  23. yfoliveira, 1º - Seu script está esperando a variável acao vindo de sua query string. Ou seja, você não esta passando esta variável para seu script: Por exemplo: http://seuservidor.com.br/seuscript.php?acao=cadastro 2 º - Inicialize seu array $error, pois do jeito que você está fazendo, o PHP vai verificar uma variável do tipo array inexistente. Faça assim: <?php include ('C:\Program Files\EasyPHP-12.0\www\sistema de cadastro\cadastro\configuração\conn.php') $acao = $_GET['acao']; //Inicializar variáveis $error = array();
  24. Romero Dias

    Problemas com combobox

    luisphp Provavelmente, para cada categoria cadastrada existe um campo que identifica se está ativa ou desativada? Se este campo se chamar ATIVO e receber 1 = Para ativo e 0 = Para desativado Você pode filtrar esses dados direto na query $sql = 'select * from TBL_CATEGORIA where ATIVO = 1';
×
×
  • Criar Novo...