Ir para conteúdo
Fórum Script Brasil

Carlos Rocha

Membros
  • Total de itens

    1.300
  • Registro em

  • Última visita

Tudo que Carlos Rocha postou

  1. Tentei de uma outra forma mas quando chega no campo ele para: function valida_cad_empresa2(form) { for (i=0;i<document.gravatipos.elements.length;i++) { if ( (document.gravatipos.elements[i].type == 'text') || (document.gravatipos.elements[i].type == 'radio') || (document.gravatipos.elements[i].type == 'textarea') ) { if(document.gravatipos.elements[i].type=='radio') { if(document.gravatipos.elements[i].value=='s') { campo='taxaValor_cad_empresas['+i+']'; alert(campo); if(document.getElementById('taxaValor_cad_empresas['+i+']').value!="") { alert("Campo obrigatório!"); document.gravatipos.elements[i+1].focus(); return (false); } } } else { campo='taxaValor_cad_empresas['+i+']'; alert(campo); if(document.getElementById(campo).value!="") { if(document.gravatipos.elements[i].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i].focus(); return (false); } } } } } form.submit(); }
  2. Pessoal, Eis a minha função de validação function valida_cad_empresa2(form) { for (i=0;i<document.gravatipos.elements.length;i++) { if (document.gravatipos.elements[i].type == 'radio') { if(document.gravatipos.elements[i][0].checked==true) { if(document.gravatipos.elements[i+1].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i+1].focus(); return (false); } } } else { if ( (document.gravatipos.elements[i].type == 'text') || (document.gravatipos.elements[i].type == 'textarea') ) { if(document.gravatipos.elements[i].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i].focus(); return (false); } } } } form.submit(); } Acontece que eu tenho um formulário que vem do banco com vérios campos text, um campo textarea e um dois radio buttons com o mesmo name. Após esses radio buttons (campos para selecionar se tem ou não taxa para pagar), existe um campo texto. Mas, a validação desse campo texto será obrigatória por causa da validação dinâmica. Existe uma forma de eu pular a validação desse campo em específico caso o radio button com valor 'n' estiver marcado? Eis o html(php incluso) <form action="?acao=gravatipos&ultimo_id=<?php echo $ultimo_id; ?>" method="post" name="gravatipos" id="gravatipos"> <h2><br />Cadastro de empresas (Passo 2/2 - Cadastro de Tipos)</h2><br /> <?php $contador2=0; $string_array = implode('|', $_POST["servico"]); foreach($_POST["servico"] as $servico) { $nomeServicoString="SELECT nome FROM servicos WHERE id=".$servico; $nomeServicoQuery=$conexao->Query($nomeServicoString); list($servicoNome)=$nomeServicoQuery->fetch_row(); echo "<h2><label style='color:#F00'>Tipos para o servi&ccedil;o: ".$servicoNome."</label></h2><br /><br />"; ?> <label class='passo2'>Diferenciais</label> : <textarea name="diferenciais_cad_empresas[<?php echo $servico;?>]" id="diferenciais_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /> <label class='passo2'>Inclusos</label> : <textarea name="inclusos_cad_empresas[<?php echo $servico;?>]" id="inclusos_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /> <label class='passo2'>Formas de Pagamento</label> : <textarea name="pgto_cad_empresas[<?php echo $servico;?>]" id="pgto_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /><br /> <label class='passo2'>Taxa de Servi&ccedil;o?</label> : <input type="radio" name="taxa_cad_empresas[<?php echo $servico;?>]" id="taxa_cad_empresass[<?php echo $servico;?>]" value="s" onclick="abre('taxa[<?php echo $servico;?>]')" /> Sim &nbsp; &nbsp; &nbsp;<input type="radio" name="taxa_cad_empresas[<?php echo $servico;?>]" id="taxa_cad_empresasn[<?php echo $servico;?>]" checked="checked" value="n" onclick="fecha('taxa[<?php echo $servico;?>]')" /> N&atilde;o<br /> <div id="taxa[<?php echo $servico;?>]" style="display:none"> <label class='passo2'>Valor </label> : <input type="text" name="taxaValor_cad_empresas[<?php echo $servico;?>]" id="taxaValor_cad_empresas[<?php echo $servico;?>]" value="" class="real"/> </div><br /> <label class='passo2'>Observa&ccedil;&atilde;o </label> : <textarea name="observa_cad_empresas[<?php echo $servico;?>]" id="observa_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /><br /> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo[<?php echo $servico;?>][0]' name='nomeTipo[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onKeyPress="BloqueiaLetras();" id='qtdePessoas[<?php echo $servico;?>][0]' name='qtdePessoas[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco[<?php echo $servico;?>][0]' name='preco[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao[<?php echo $servico;?>][0]' name='descricao[<?php echo $servico;?>][0]' cols='40' rows='5'></textarea><br /> </fieldset> <div id="div<?php echo $servico;?>"><input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, <?php echo $servico;?>)" /> </div><br><br> <?php $contador2++; } ?> <br><br><input type="button" value="Cadastrar" onClick="valida_cad_empresa2(this.form)" /> </form>
  3. Consegui fazer assim(e funcionou); function valida_cad_empresa2(form) { for (i=0;i<document.gravatipos.elements.length;i++) { if ((document.gravatipos.elements[i].type == 'text') || (document.gravatipos.elements[i].type == 'textarea')) { if(document.gravatipos.elements[i].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i].focus(); return (false); } } } form.submit(); } Agora tenho outro problema relacionado; Este é o HTML modificado <fieldset> <legend>Tipo</legend> <label class='passo2'>Nome Tipo: </label><input type='text' id='nomeTipo[<?php echo $servico;?>][0]' name='nomeTipo[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Qtde Pessoas: </label><input type='text' onKeyPress="BloqueiaLetras();" id='qtdePessoas[<?php echo $servico;?>][0]' name='qtdePessoas[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Preço: </label><input type='text' class="real" id='preco[<?php echo $servico;?>][0]' name='preco[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Descrição: </label> <textarea id='descricao[<?php echo $servico;?>][0]' name='descricao[<?php echo $servico;?>][0]' cols='40' rows='5'></textarea><br /> </fieldset> <div id="div<?php echo $servico;?>"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, <?php echo $servico;?>)" /> </div><br><br> Também tenho uma função JS que adiciona novos campos ao form. Note que no form acima, tenho a função BloqueiaLetra() e um campo e class="real" em outro. Nos campos que são criados no ato do carregamento do form, ambos, a funçao e a classe funcionam normal. Porém, co respeito aos campos adicionados após o carregamento do form (botão: incluir campo), apenas a funçao funciona, mas a classe não. Qual será o erro?
  4. Então, como faço para validar em: nomeTipo[4][0] Se existe pelo menos um nomeTipo[] Criado. Mas usando getElementsByName? Ou como devo criar os type=texts para validar dessa forma. Uma vez que [4] é o tipo de serviço(existem outros) dái o array. Mas para cada serviço possuo vários tipo, o que justifica o [4][0]
  5. Bom, vou ser mais específico na dúvida: JavaScript <script> function valida_cad_empresa2(form,string_array) { var servico = new Object(); servico = string_array.split('|'); alert(document.getElementsByName('nomeTipo').length); return false; for (var key in servico) { for (key2 in document.getElementsByName('nomeTipo['+key+']').item(0)) { if (document.getElementsByName('nomeTipo['+key+']['+key2+']').item(0).value =="") { alert("Preencha Nome do Tipo: campo obrigatório!"); document.getElementsByName('nomeTipo['+key+']['+key2+']').item(0).focus(); return (false); } } } form.submit(); } </script> HTML <form action="?acao=gravatipos&ultimo_id=177" method="post" name="gravatipos" id="gravatipos"> <h2><br />Cadastro de empresas (Passo 2/2)</h2><br /> <label>Tipos para o servi&ccedil;o: Passeio</label><br /> <fieldset> <legend>Tipo</legend> <label class='passo2'>Nome Tipo: </label><input type='text' id='nomeTipo0' name='nomeTipo[3][0]'><br /> <label class='passo2'>Qtde Pessoas: </label><input type='text' onKeyPress="BloqueiaLetras();" id='qtdePessoas0' name='qtdePessoas[3][0]'><br /> <label class='passo2'>Preço: </label><input type='text' class="real" id='preco0' name='preco[3][0]'><br /> <label class='passo2'>Descrição: </label> <textarea id='descricao0' name='descricao[3][0]' cols='40' rows='5'></textarea><br /> </fieldset> <div id="div3"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, 3)" /> </div><br><br> <label>Tipos para o servi&ccedil;o: Hospedagem</label><br /> <fieldset> <legend>Tipo</legend> <label class='passo2'>Nome Tipo: </label><input type='text' id='nomeTipo0' name='nomeTipo[4][0]'><br /> <label class='passo2'>Qtde Pessoas: </label><input type='text' onKeyPress="BloqueiaLetras();" id='qtdePessoas0' name='qtdePessoas[4][0]'><br /> <label class='passo2'>Preço: </label><input type='text' class="real" id='preco0' name='preco[4][0]'><br /> <label class='passo2'>Descrição: </label> <textarea id='descricao0' name='descricao[4][0]' cols='40' rows='5'></textarea><br /> </fieldset> <div id="div4"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, 4)" /> </div><br><br> <br><br><input type="button" value="Cadastrar" onClick="valida_cad_empresa2(this.form,'3|4')" /> </form> Observe a função: No form, eu tenho um campo nomeTipo[3][0] Se eu pesquisar pelo: document.getElementsByName('nomeTipo').length Acho 0 como retorno Mas, se eu buscar por document.getElementsByName('nomeTipo[3][0]').length Aí acho 1. Parece que getElementsByName age como se fosse getElementById. O que há de errado? JavaScript não reconhece um array de campos de formulário? Será isso? Se for, alguma saída?
  6. Descobri uma coisa: Se eu fizer assim: <input type="text" name="produto[0]" /> E uma validação assim: if (document.getElementsByName('produto[0]').length==0) { alert('ahah'); } else { alert(document.getElementsByName('produto[0]').item(0).value); } } A validação procede. Mas a adição de campos ao formulário é do tipo: <input type="text" name="produto[0][]" /> Porque então, se eu colocar a validação da forma abaixo para saber se há algum produto[0][] criado ele dá erro? Afinal de contas, em: <input type="text" name="produto[0][0]" /> Se eu for pegar o tamanho do array produto[0] e se só existir esse campo criado, o resultado de .length não será 1? Ou senão, como faz para pegar o .length nesse caso?
  7. Podem me ajudar? Tentei assim: campo = document.getElementsByTagName('nomeTipo['+servico[key]+']'); if(document.querySelector(campo)==null) { .. } Mas esta dando o erro abaixo: Uncaught SyntaxError: Failed to execute query: '[object NodeList]' is not a valid selector. Eu tenho alguma dificuldade com Javascript. Tudo que eu quero saber é se existe o campo no formulário cuja propriedade é name="nomeTipo[3]" por exemplo. Esse nomeTipo é um array (do tipo nomeTipo[j]) de campos que serão criados dinamicamente via Javascript Mas, ainda que esse campo não tenha sido criado, o Javascript me informa que ele esta criado. Não sei mas o que fazer? À principio, tudo que eu tenho é: <label>Tipos para o servi&ccedil;o: Passeio</label><br /> <div id="div3"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, 3)"> </div> <br><br> <label>Tipos para o servi&ccedil;o: Hospedagem</label><br /> <div id="div4"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, 4)"> </div> <br><br> De onde ele esta tirando a existência de um: document.getElementsByTagName('nomeTipo['+servico[key]+']') ?? Seria da função JavaScript que cria os campo mesmo antes de ela ser chamada?
  8. Ta quase tudo certo. Só uma coisa esta dando errado. campo = document.getElementsByTagName('nomeTipo['+servico[key]+']').length; alert ('nomeTipo['+servico[key]+']'); if (campo==0) A principio não tenho campo algum no form. Porem, quando tento enviar o form, o JS valida a quantidade de campos com name =nomeTipo (há varios campos nomeTipo). Acontece que a geração desses campos nome tipo são rodados dentro de um for. Logo teremos; nomeTipo[i]. E, para cada nomeTipo[i] desses, podemos ter nomeTipo[i][j] campos. . Logo, a dúvida é saber se o primeiro nomeTipo[i] já foi criado. Senão, cria ele. Essa parte esta sendo feita beleza. Então,Temos pelo menos nomeTipo[i][0] Logo, nomeTipo[i].length é diferente de 0. Mas quando volto na validação, embora o campo nomeTipo[i][0] esta lá criado, a função acha nomeTipo[i].length ==0. O que fazer?
  9. Talvez eu não esteja sabendo é validar corretamente. A iéia é saber se dentro da div exite uma textbox com os valores passados por parametro: if (document.getElementsByTagName('nomeTipo'+[servico[key]]).length==0) o nome do campo esta sendo montado corretamente. Exemplo: nomeTipo[3][1]. Mas uma vez que ele ainda não tenha sido criado, ele vai e chama a função que cria ele. Porem, quando submetido novamente diz que não foi criado: .lenght==0. Não sereia o caso de mudar a vereificação de .length para se ele existe? Se sim, como saber que o campo existe? document.getElementsByTagName('nomeTipo'+[servico[key]]) = Existe?
  10. Olá amigos. Bom dia! Tenho uma função que cria ( e cria mesmo) um bloco de campos. Antes disso, para cada bloco, eu crio com php blocos. PHP: <?php $contador2=0; $string_array = implode('|', $_POST["servico"]); foreach($_POST["servico"] as $servico) { $nomeServicoString="SELECT nome FROM servicos WHERE id=".$servico; $nomeServicoQuery=$conexao->Query($nomeServicoString); list($servicoNome)=$nomeServicoQuery->fetch_row(); echo " <label>Tipos para o servi&ccedil;o: ".$servicoNome."</label><br />"; ?> <div id="div<?php echo $servico;?>"> <input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, <?php echo $servico;?>)"> </div> <br><br> <?php $contador2++; } ?> Nesse php ele cria div's pais para que, em cada div pai, possam ser criados, blocos de type='text'. Essa parte esta Ok. Porem, estes blocos estão dentro de um form que precisa ser validado antes de ser enviado. E é ai que morro o problema. A função gera os campos dinamicamente. Mas o JavScript parece que não enxerga eles. Para a função de validação, eu passo um array php transformado em string como parâmetro. Após a função receber essa função, ele re-transforma essa string em array js. function valida_cad_empresa2(form,string_array) { var servico = new Object(); servico = string_array.split('|'); ...... for (var key in servico) { if (document.getElementsByTagName('nomeTipo'+[servico[key]]).length==0) { addCampos('div'+servico[key], servico[key]); if(key==servico.length-1) { alert("Você deve cadastrar pelo menos 1 tipo para cada serviço selecionado na etapa anterior!"); return (false); } } else { for (var key2 in servico[servico[key]]) { if (document.getElementsByTagName('nomeTipo')[servico[servico[key]]][servico[servico[key]][servico[servico[key]][servico[servico[key][key2]]]]] =="") { alert("Preencha Nome do Tipo: campo obrigatório!"); document.getElementsByTagName('nomeTipo')[servico[servico[key]]][servico[servico[key]][servico[servico[key]][servico[servico[key][key2]]]]].focus(); return (false); } } } } form.submit(); } Acontece, que a função valida que o primeiro campo nomeTipo de uma das div's pais não existe e dispara a função de criá-lo mas após criá-lo, ele continuando encontrando ele como não criado. Porem me ajudar? Podem visualizar o que estou falando em: http://www.dinamicaimoveis.com.br/morrodesaopaulo.inf.br/cadastrar.php?acao=form Podem ficar à vontade para testar e criar empresas fictisseas com qualquer nome
  11. Carlos Rocha

    Vale Presente

    Pessoal. Andei pesquisando e nada achei(ou não procurei com os termos corretos). Estou querendo fazer em php um esquema de Vale Presente do tipo Americanas.com. A ideia é a seguinte: um cliente cadastrado na loja envia um Código (Vale Presente) para 'n' emails tantos quanto ele quiser presentear com um desconto de R$20,00 (exemplo) na loja. Uma vez que o e-mail indicado se cadastrar na loja e comprar um produto (acima de X reais, ainda precisa ser criada a regra), daí, o presente para o cliente é liberado ele também receberá um Vale Presente do mesmo valor R$20,00. Gostaria de uma idéia de como gerar esse Vale Presente. Pensei na seguinte forma: 1° campo = valor do presente com 7 dígitos sem virgula 2° campo = id do cliente indicador com 5 dígitos 3° campo = 02 que quer dizer cliente indicado Depois, pegar esses valores, concatenar e gerar uma chave md5. Alguma ideia melhor?
  12. Carlos Rocha

    Divisão de loop

    Pessoal, preciso de uma orientação. Estou abrindo um arquivo que possui n linhas. Cada linha possui uma estrutura assim: dado_a|dado_b|dado_c|dado_d|dado_e Todos separados por | n linhas assim. Esse arquivo tem mais de 7000 linhas onde o php precisa verificar linha por linha e comparar se há um combinação de cada linha com uma tabela na base. Acontece que essa verificação esta sendo feita ok. Porem quando verificada, é preciso fazer um update no banco a partir dos dados lidos no arquivo. Até 3000 e poucas linhas, o update vai bem. Depois trava a pagina. Gostaria de arranjar uma forma de dividir essa tarefa em um numero que permitisse que o processo não parasse por excesso tempo. Alguma orientação? Eis o código atual. $diretorio = "estoque/"; //Fizemos todos os testes e esta tudo certo. $arq = fopen($diretorio.$nome,'r'); // abre arquivo //LÊ O ARQUIVO ATÉ CHEGAR AO FIM while($linha = fgets($arq)) // Lê linha por linha { $linha_cada = explode('|', $linha); $busca_string= " select estoque.id_estoque, estoque.id_produto, estoque.id_cor, estoque.id_tamanho, produtos.referencia_produtos from estoque inner join produtos on estoque.id_produto = produtos.id_produtos inner join tamanhos on estoque.id_tamanho = tamanhos.id_tamanhos inner join cores on estoque.id_cor = cores.id_cores where produtos.referencia_produtos='$linha_cada[0]' and cores.nome_cores='$linha_cada[1]' and tamanhos.nome_tamanhos='".$linha_cada[2]."'"; $busca_query= $conexao->query($busca_string); if ($busca_query->num_rows>0) { list($id_estoque, $id_produto, $id_cor, $id_tamanho, $referencia_produtos)=$busca_query->fetch_row(); $atualisa_estoque_string = "update estoque set estoque=".$linha_cada[3]." where id_estoque=".$id_estoque; $atualisa_estoque_query = $conexao->query($atualisa_estoque_string); if ($contador%100==0) { $conexao->close; $conexao->init; } } } //FIM DO WHILE
  13. Evai, obrigado pela ajuda. É mais dificil ajuidar que apontar o dedo. Grato pela iniciativa. Mas, esse é o código que estou usando na conexão. Acho (acho) que faz o mesmo. Será que não? <?php define('host', "localhost"); define('db', "xxxx"); define('user', "xxxx"); define('pass', "yyyy"); $conexao = new mysqli(host,user,pass,db); $conexao->set_charset("utf8"); ?>
  14. Pusha pessoal. ninguém?
  15. Pessoal. Boa tarde! Estou com o seguinte problema: Baixei o Mysql MySql 6.0.11 x86.msi no site do MySQL. Estou usando o seguinte script para gravar com php: $select_produtos_string= " select id_produtos from produtos where nome_produtos = '".$_POST['nome_cad_produtos']."' and id_categorias_produtos = ".$_POST['categoria_cad_produtos']." and referencia_produtos = '".$_POST['referencia_cad_produtos']."'"; $select_produtos = $conexao->query($select_produtos_string); if($select_produtos->num_rows==0) { $cadastro_produtos_string=" insert into produtos ( id_categorias_produtos, nome_produtos, referencia_produtos, descricao_produtos, bloqueio_produtos ) values( '".$_POST['categoria_cad_produtos']."', '".$_POST['nome_cad_produtos']."', '".$_POST['referencia_cad_produtos']."', '".$_POST['descricao_cad_produtos']."', 'n' ) "; print "<pre>"; print $_POST['descricao_cad_produtos']; print "</pre>"; A impressão do $_POST['descricao_cad_produtos'], exibe os caraters devidamente acentoados(ç,~,^). Porem, na hora de gravar no banco, os acentos vão convertidos para caracters especiais no banco. Mas o que me deixa mais intrigado é que, no servidor da UOL Host, o Collation de conexão do MySQL é ut8_general_ci igual ao que eu configurei localmente. Porem, na UOL Host, os os acentos NÃO vão convertidos para caracters especiais no banco. Assim, não há como eu fazer backup de um e gravar no outro (UOL Host para o meu local e vice versa) Como corrigir isso? Grato a quem puder ajudar! Carlos Rocha Print do phpmyadmin no servidor da UOL Host Print do phpmyadmin no servidor Localhost
  16. Então quer dizer que tem que ser criado um novo campo?
  17. Só uma dúvida: Essa parte é assim mesmo? `produtos_FK_001` Pois não há este campo na tabela.
  18. Feliz Ano Novo pessoal! Gostaria de uma orientação com on delete cascate. Tenho uma tabela de categorias de produtos na qual gostaria de fazer o seguinte: toda vez que eu deletar uma categoria, gostaria de deletar todos os produtos quem tem esta categoria por sua categoria. Segue as tabelas: CREATE TABLE categorias ( id_categorias int(4) unsigned NOT NULL AUTO_INCREMENT, nome_categorias varchar(100) NOT NULL DEFAULT '', imagem_categorias char(36) NOT NULL DEFAULT '', PRIMARY KEY (id_categorias) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; CREATE TABLE produtos ( id_produtos int(4) unsigned NOT NULL AUTO_INCREMENT, id_categorias_produtos int(4) NOT NULL DEFAULT '0', nome_produtos varchar(50) NOT NULL DEFAULT '', imagem_produtos char(36) DEFAULT NULL, referencia_produtos varchar(10) NOT NULL DEFAULT '', descricao_produtos text NOT NULL, bloqueio_produtos char(1) NOT NULL DEFAULT '', PRIMARY KEY (id_produtos) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; Como eu poderia fazer isso na estrutura da tabela?
  19. Bom dia a todos e um Feliz 2013! Fiz o css abaixo com esperança de que o fundo a cor de fundo da li mudasse quando passasse o mouse por cima dela. Não funcionou ul#lista_menu { list-style-type:none; background-color:#D2E1E8; padding-left:5px; margin: 0px auto; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 0px 0px 10px 10px; border: 2px solid #95A9B3; } ul#lista_menu li { height:50px; } ul#lista_menu li.selected { height:50px; background-color:#FFF; } Eis o html else { echo "<label class=\"topos\" style=\"width:200px;\">&nbsp;CATEGORIAS</label>"; echo "<ul id=\"lista_menu\">"; while(list( $id_categorias, $nome_categorias, $imagem_categorias ) =$categorias_query->fetch_row()) { ?> <li> <a href="produtos.php?acao=listar&id_categorias_produtos=<?php echo $id_categorias;?>"> <?php echo strtr(strtoupper($nome_categorias),"àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ","ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÚÞß");?> </a> <hr /> </li> <?php } echo "</lu>"; } ?> Outro problema é que eu coloquei a altura da li em 50px. Mas a primeira lí(só ela) saí só com uns 10px para qualquer altura que eu colocar. Como corrigir este erros?
  20. Descobri: Faltou o endereço mini //Diretórios de Gravação das imagens $caminho_normal = "../../".endereco_normal."/".$imagem_nome; $caminho_mini = "../../".endereco_mini."/".$imagem_nome; Obrigado!
  21. Pessoal. Boa tarde! Feliz Ano novo a todos. Bom. Minha dificuldade é a seguinte: Estou fazendo upload de imagem e a Biblioteca GD instalada. O upload da imagem vai correto. Porem, a miniatura não gera. Pesquisei pelo nome da imagem uploadeada no Explorer e num encontrei ela em forma de miniatura em outra pasta. Isso significa que a miniatura Não foi gerada. O problema é que, pelo fato de que o script php estar sendo chamado de dentro de um swf(múltiplos uploads), então não consegui testar o php. Segue o código: <?php include "../config/constantes.php"; include "../config/conexao.php"; $foto = $_FILES["Filedata"]; $nome = $foto["name"]; $tipo = $foto["type"]; $tmpname = $foto["tmp_name"]; $extensao = pathinfo($nome, PATHINFO_EXTENSION); $imagem_nome = md5(uniqid(time())).".". $extensao; //Diretórios de Gravação das imagens $caminho_normal = "../../".endereco_normal."/".$imagem_nome; if(move_uploaded_file($tmpname, $caminho_normal)) { $parametro = $_GET["parametro"]; $inserir_fotos_string = "insert into fotos (nome_fotos, id_produtos_fotos) values ('$imagem_nome',$parametro)"; $inserir_fotos = $conexao->query($inserir_fotos_string); //CRIA UMA NOVA IMAGEM if ($tipo =="image/jpg") { $imagem_original = imagecreatefromjpeg($caminho_normal); } else if ($tipo =="image/gif") { $imagem_original = imagecreatefromgif($caminho_normal); } else if ($tipo =="image/png") { $imagem_original = imagecreatefrompng($caminho_normal); } //Criaçao da miniatura //LARGURA $largura_original = imagesx($imagem_original); //ALTURA $altura_original = imagesy($imagem_original); //DEFINE OS PARÂMETROS DA MINIATURA $largura_mini = 150; $altura_mini = ($altura_original * $largura_mini) / $largura_original; //CRIA O THUMBNAIL $imagem_final = imagecreatetruecolor($largura_mini, $altura_mini); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_final, $imagem_original, 0, 0, 0, 0, $largura_mini+1, $altura_mini+1, $largura_original, $altura_original); //$nome_imagem_mini=basename($imagem_nome); $caminho_mini = "../../".endereco_mini."/".$imagem_nome; //SALVA A IMAGEM if ($tipo =="image/jpg") { header("Content-type: image/jpg"); imagejpeg($imagem_final, $caminho_mini ,100); } else if ($tipo =="image/gif") { header("Content-type: image/gif"); imagegif($imagem_final, $caminho_mini ,100); } else if ($tipo =="image/png") { header("Content-type: image/png"); imagepng($imagem_final, $caminho_mini); } //LIBERA A MEMÓRIA imagedestroy($imagem_original); imagedestroy($imagem_final); } ?>
  22. Pessoal. Bom dia! Tenho essa seguinte pagina principal: <?php header ("Content-Type: text/html; charset=utf-8"); include ("global/config/conexao.php"); include ("global/config/constantes.php"); include ("global/funcoes_php/foto_exibe.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title><?php echo titulo_empresa;?></title> <?php include ("global/config/campos_meta.php"); ?> <link rel="stylesheet" type="text/css" href="global/config/body.css" /></link> </head> <body> <table width="1000px" align="center"> <tr><td align="center"><?php include("global/topo.php"); ?></td></tr> <tr><td align="center"><?php include("global/menu.php"); ?></td></tr> <tr><td align="left"><?php include("index_conteudo.php"); ?></td></tr> <tr><td align="center" class="basesite"><?php include("global/base.php"); ?></td></tr> </table> </body> </html> Na última <td> dessa tabela, tenho uma chamada à classe base site que coloca um fundo na pagina incluída. Mas o fundo não esta não esta aparecendo. Apenas as bordas da fundo aparecem. Mas, se eu retirar da pagina principal a chamada ao script css e colocar o css diretamente na TD aí funciona. Onde estará o erro? Segue o código do CSS * { background-color:#E1FFFC; } body { position:absolute; left:50%; width:1000px; margin-left:-500px; font-family: Arial, Helvetica, sans-serif; font-size:16px; } .basesite { background-image:url("../../img/fundobase.png"); background-repeat:no-repeat; } Segue o código do index_conteudo.php <script src="Scripts/swfobject_modified.js" type="text/javascript"></script> <table align="center"> <tr> <td align="left" width="700px"> <?php echo endereco_site." - ".tel_site; echo "<br />"; echo www." - ".ano_site; ?> </td> <td align="right" width="300px"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="188,85" height="58,55" id="FlashID" title="Logo Carcleo"> <param name="movie" value="img/logocarcleo.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <param name="swfversion" value="6.0.65.0" /> <!-- Esta tag param solicita que os usuários com o Flash Player 6.0 r65 e versões posteriores baixem a versão mais recente do Flash Player. Exclua-o se você não deseja que os usuários vejam o prompt. --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- A tag object a seguir aplica-se a navegadores que não sejam o IE. Portanto, oculte-a do IE usando o IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="img/logocarcleo.swf" width="188,85" height="58,55"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <param name="swfversion" value="6.0.65.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- O navegador exibe o seguinte conteúdo alternativo para usuários que tenham o Flash Player 6.0 e versões anteriores. --> <div> <h4>O conte&uacute;do desta p&aacute;gina requer uma vers&atilde;o mais recente do Adobe Flash Player.</h4> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obter Adobe Flash player" width="188,85" height="58,55"/></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object></td> </tr> </table> <script type="text/javascript"> swfobject.registerObject("FlashID"); </script> No aguardo.;
  23. Carlos Rocha

    while em session

    Também já consegui. Agora só me falta resolver o seguinte: Estou obtendo o erro abaixo quando adiciona uma variável a mais na classe Carrinho, Notice: Use of undefined constant real - assumed 'real' in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\php\flavio\chinelospuff.com.br\representantes\carrinho_conteudo.php on line 5 Acho que é por causa da forma que estou declarando ela; <?php error_reporting(E_ALL); /* Classe TCarrinho */ class TCarrinho { var $item_codigo = array(); var $item_quantidade = array(); var $item_tamanho = array(); var $item_cor = array(); var $item_codigo_estoque = array(); var $item_desconto = array(); var $item_preco = array(); var $TotalNota = real; ........ Essa aqui: var $TotalNota = real; Ela não é array. Ela é do tipo moeda, real. Como fazer essa declaração de forma a não obter esse erro?
  24. Carlos Rocha

    while em session

    Bom, acho que consegui for ($i=0;$i<$_SESSION["MeuCarrinho"]->QuantosItens();$i++) { $preco_total = $preco_total + $_SESSION["MeuCarrinho"]->item_preco[$i]; $codigo_produto=$_SESSION["MeuCarrinho"]->item_codigo[$i]; $quantidade_produto=$_SESSION["MeuCarrinho"]->item_quantidade[$i]; ...... Agora uma ultima coisa: Nesse for, terei o código do produto, a cor e o tamanho dentre outras. Isso significa que poderei ter para um mesmo produto, vários lançamentos dependendo da combinação cor/tamanho. Nesse caso, como faço para conseguir nesse loop for, quando trocar o código do produto, criar duas linhas em branco para separar do produto de baixo?
×
×
  • Criar Novo...