Ir para conteúdo
Fórum Script Brasil

Deadoc

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Sobre Deadoc

  • Data de Nascimento 25/09/1984

Contatos

  • MSN
    jcfsemensi@hotmail.com

Perfil

  • Gender
    Male
  • Location
    Ribeirão Preto

Deadoc's Achievements

0

Reputação

  1. Pessoal Obrigado pela ajuda... Resolvi da seguinte maneira... Primeiro criei o script pegando pelo id do select option &lt;script> function addunidade( ) { var texto = prompt ("Digite o nome da unidade:"); var valor = prompt ("Digite-a novamente:"); document.getElementById("unidade").options[document.getElementById("unidade").options.length] = new Option (texto, valor, true, true); } </script> Depois... no select eu fiz da seguinte forma... <select size="1" id="unidade" name="unidade" [color="#FF0000"]onchange="if (this.value == 'java script:addunidade()') { location.href=this.value; }"[/color]> //a parte em vermelho chama a função addunidade somente se o value selecionado no option for igual a java script:addunidade(). <option value="<?php echo($exibe['unidade']);?>"><?php echo($exibe['unidade']);?></option> //aqui retorna o já cadastrado no banco <option [color="#FF0000"]value="java script:addunidade()"[/color]>Adicionar unidade</option>//aqui estou chamando a função de addunidade ao option <?php $var_conn = new conexao_mysql; $var_conn->conexao('empresa'); $sql = "SELECT DISTINCT unidade FROM sede order by unidade"; $resultadoY=$var_conn->query($sql); $i = 0; while($exibe2 = $var_conn-> associa_registros($resultadoY)): ?> <option value="<?php echo($exibe2['unidade']);?>"><?php echo($exibe2['unidade']);?></option> //aqui está mostrando todas as sedes cadastradas menos as repetidas... <?php $i++; endwhile; ?> </select> Dessa forma simples usando javascript consegui abrir um prompt para digitar o nome da nova unidade e setar no select option como uma nova opção em tempo real, sem necessidade de abrir uma outra janela para cadastro. Ficou realmente simples facil e pratico. Obrigado pessoal mais uma vez pela ajuda...
  2. Como não sei fazer o SP... Resolvi de outra maneira... Criei duas views... cada uma com metade dos campos... Ficou mais ou menos assim... View metade1 com os campos de 33 tabelas... View metade2 com os campos restantes das outras 32 tabelas Até ae normal... Para Mostrar os dados eu fiz dois laços... $i=0; $q=0; //Laço com a primeira metade dos dados (tabela metade1) $j = 0; while($exibe = $var_conn-> associa_registros($resultadoX)): if (!($exibe['nome']==NULL)) { echo "<tr><td align='center'>".$i=($i+1)."</td><td>Nome:</td><td align='center'>".$exibe['nome']."</td><td>".$local."</td><td>".$exibe['status']."</td></tr>"; $q=$q+1;//contador de linhas para paginação } Assim que o contador q for igual a 25 quebra página automático para impressão dentro do A4 //testa pra fazer a formatação em 25 linhas if ($q % 25 == 0){ //dessa forma se for multiplo de 25 ele já chama a função de paginação quebra_pagina(); //função que zera o contador, fecha tabela, inicia cabeçalho e tabela da próxima pagina } else { //nada a fazer } logo após o segundo laço //Segundo laço com dados da outra metade (tabela metade2) $k = 0; while($exibe2 = $var_conn-> associa_registros($resultadoY)): if (!($exibe2["sobrenome"]==NULL)) { echo "<tr><td align='center'>".$i=($i+1)."</td><td>Sobrenome:</td><td align='center'>".$exibe2['sobrenome']."</td><td>".$local."</td><td>".$exibe2['status']."</td></tr>"; $q=$q+1; } $k++; endwhile; //FIM DO SEGUNDO WHILE assim quando acabar o segundo laço chama novamente a função de paginação if ($q % 25 == 0){ //verifica se o numero de linhas é igual a 25 quebra_pagina(); //função que quebra página após 25 linhas } else { //condição de que não existe mais campos então encerra tabela de impressão echo "</table>"; echo "<table border='0' align='center'><tr><td>&nbsp;</td><td><div align='center'><h3>"; include("data.php"); // função que insere data atual do servidor echo "</h3></div></td></tr><tr><td>&nbsp;</td><td><div align='center'><h1>___________________________________</h1></div></td></tr></table>"; } $j++; endwhile; //finaliza o primeiro while após tudo...
  3. Nada ainda pessoal... alguma luz por favor?? Pelo jeito terei que apelar para o jquery...
  4. Puts... Não teria algo mais simples... Tipo eu tenho uma unica tabela (empresas) com varios campos inclusive a Unidade (filial). Não posso criar outra tabela pois ae seria mais facil o trabalho. Então o que busco e não estou conseguindo fazer é o seguinte: faço um select na tabela empresas mostrando as filiais dentro de um combo... até ae tudo simples muito facil. Porém dentro desse mesmo combo, caso eu não tenha a filial cadastrada, quero chamar uma função que abra uma popup apenas para digitar o nome da unidade e que ao clicar em ok ela já esteja no mesmo combo setada! Assim quando eu clicar em atualizar cadastro finalmente submeto o form e dou um update na tabela. Tem como isso? Algo do tipo: function adicionarItem(select, val, tex, cla) { '$("#"+select).append("<option value='"+val+"' class='"+cla+"'>"+tex+"</option>"); } abrir uma popup, digitar o nome da unidade no input text e retornar para o mesmo combo... alguma luz?
  5. Pessoal help! Me deparei com um problema ao qual não estou conseguindo resolver. Seguinte. Tenho uma consulta ao banco retornando uma unidade (sede), porém se a sede não existir no banco de dados, queria inserir um item para adicionar nova, tudo isso dentro do <select> <option value... enfim trecho do código <p> <b>Unidade: <select size="1" name="unidade"> <option value="">Selecione uma unidade abaixo:</option> <!--<option value="">Adicionar unidade</option>--> //aqui eu gostaria que ao clicar aparecesse uma janela para cadastrar nova unidade e ficasse setado já no combo em tempo real, só depois que eu submetesse o form q seria salvo na tabela sede campo unidade. <?php $var_conn = new conexao_mysql; $var_conn->conexao('BD1'); $sql = "SELECT DISTINCT unidade FROM empresa order by unidade"; $resultadoY=$var_conn->query($sql); $i = 0; while($exibe2 = $var_conn-> associa_registros($resultadoY)): ?> <option value="<?php echo($exibe2['unidade']);?>"><?php echo($exibe2['unidade']);?></option> <?php $i++; endwhile; ?> </select> </b> </p> Alguém tem uma luz? Não posso criar uma nova tabela unidade por isso o trabalhão! Necessito criar em tempo de execução, uma janela ao selecionar o item adicionar nova unidade no combo e retornar esse valor cadastrado no mesmo select. Será que fui claro ou está confuso? Alguém pode ajudar. Obrigado
  6. Oi, 'Deadoc'! Fazendo exatamente como você falou. Apenas que em vez de criar View crie tabelas myisam (dependendo do tamanho) e, depois, una-as.. Faça tudo através de uma storage procedure e parametrize conforme sua necessidade. Certo mais como eu faço esse Storage Procedure nunca necessitei fazer isso! Obrigado
  7. Boa tarde pessoal. Sou desenvolvedor PHP + MySQL a 5 anos e hoje me deparei com um problema o qual não estou conseguindo resolver. Preciso fazer um Join, Left Join, Right join q seja, ou mesmo, select da vida com 65 tabelas porém quem trabalha com mysql esta enjoado de saber que esse número é limitado a 61 tabelas ou 4096 colunas. Quanto ao total de colunas está tranquilo pois possuo apenas 400! Agora o problema são as tabelas, ultrapassam o numero máximo permitido. O que fazer? Tentei criar 2 view contendo metade das tabelas cada, e logo após juntar em uma terceira, porém é retornado o mesmo erro que ultrapassou o limite. Tentei fazer com select é retornado o mesmo erro. Gostaria de saber se tem como criar uma unica tabela (em tempo de execução) contendo tudo, ou seja, as 65 tabelas em uma para resolver meu problema. No caso tem que ser em tempo de execução, pois as tabelas são constantemente alimentadas por sistema WEB, e diariamente necessitara dessa junção para emissão de relatórios parciais. Basicamente as tabelas estão da seguinte maneira ID_tabela Marca Tipo Descrição Estado físico se diferem em algumas particularidades e quanto ao numero de coluna, onde algumas tabelas possuem apenas 3 colunas e outras podem chegar a 7 colunas. Alguém sabe como resolver esse impasse? Obrigado por hora.
×
×
  • Criar Novo...