Jump to content

Regis Oliver

Members
  • Content count

    15
  • Joined

  • Last visited

Community Reputation

0 Comum

About Regis Oliver

  1. Regis Oliver

    "Select" entre 3 tabelas

    Usei o DISTINCT e mesmo assim ele ainda trazia outro item, que nem esta na tabela Dry_os_item. Eu mudei um pouco o select: select DISTINCT oi.os_item_id editlink, oi.os_item_id, oi.os_id, oi.produto_id, (select produto_descricao from dry_produto where produto_id = oi.produto_id and oi.os_item_tag = 'produto') as Produto, (select servico_descricao from dry_servico where servico_id = oi.produto_id and oi.os_item_tag = 'servico') as Serviço, oi.produto_valor, oi.quantidade, (oi.produto_valor * oi.quantidade) extended_price, dbms_lob.getlength(produto_imagem) produto_imagem , decode(nvl(dbms_lob.getlength(pi.produto_imagem),0),0,null, '<img style="border: 4px solid #CCC; -moz-border-radius: 4px; -webkit-border-radius: 4px;" '|| 'src="'|| apex_util.get_blob_file_src('P29_PRODUTO_IMAGEM',pi.produto_id)|| '" height="75" width="75" alt="Produto Imagem" title="Produto Imagem" />') detail_img from dry_os_item oi, dry_produto pi where oi.os_id = 10 Deixei ate o distinct.. eu tinha feito com Group by, mas mesmo assim retorna a mesma coisa: EDITLINK OS_ITEM_ID OS_ID PRODUTO_ID PRODUTO SERVIÇO PRODUTO_VALOR QUANTIDADE EXTENDED_PRICE PRODUTO_IMAGEM DETAIL_IMG 21 21 10 4 Cerveja Skol - Lata - 1.55 1 1.55 - - 21 21 10 4 Cerveja Skol - Lata - 1.55 1 1.55 8435 < Exemplo: imagem /> não sei porque ele traz esse item de cima, era pra vir somente o que tem imagem..
  2. Regis Oliver

    "Select" entre 3 tabelas

    Eu achei que tinha resolvido o problema. Mas quando fui fazendo mais testes, ainda esta trazendo informações erradas. Esta duplicando os produtos e também percebi que ele trouxe outro nome do produto. Segue o retorno do Select acima: OS_ID PRODUTO_ID PRODUTO PRODUTO_VALOR QUANTIDADE 9 5 Cerveja Brahma - Lata 2.19 1 9 5 Cerveja Skol - Lata 2.19 1 9 4 Espelhamento Carro Esportivo 150 1 9 4 Espelhamento Carro Esportivo 150 1 vou deixar abaixo o retorno do select da tabela Dry_os_item com o OS_ID = 9 (Obs: tem somente 2 itens no banco) select * from dry_os_item where os_id = 9 OS_ITEM_ID OS_ID PRODUTO_ID PRODUTO_VALOR QUANTIDADE OS_ITEM_TOTAL OS_ITEM_DATA OS_ITEM_TAG 19 9 5 2.19 1 152.19 - produto 20 9 4 150 1 152.19 - servico Alguém me dê uma luz, por favor Obrigado.
  3. Regis Oliver

    "Select" entre 3 tabelas

    Resolvi o problema fazendo o seguinte código: select oi.os_id, oi.produto_id, (case when oi.os_item_tag = 'produto' then pi.produto_descricao else se.servico_descricao end) as Produto, oi.produto_valor, oi.quantidade from dry_os_item oi, dry_produto pi, dry_servico se where oi.OS_ID = :P43_ORDER_ID Simples, mas não conseguia enxergar. Agradeço a ajuda de todos. Deixei o código, talvez ajude. Obrigado.
  4. Regis Oliver

    "Select" entre 3 tabelas

    Salve Motta.. Eu criei a view, como você sugeriu. Mas eu não entendi direito as condições que você colocou no "where" Essa parte Acima "io.tag" está certo ? não seria "oi.os_item_tag" ? Eu fiz as seguintes alterações abaixo. E da o seguinte erro: ORA-06550: line 16, column 7: ORA-00942: table or view does not exist from dry_os_item oi, v_serv_prod v where oi.OS_ID = 8 and (case when oi.os_item_tag = 'produto' then PRODUTO_ID else SERVICO_ID end = v.produto_id) and oi.os_item_tag = v.servico_tag O que esta errado ??? Ele não esta encontrando a view ? Obrigado Motta.
  5. Regis Oliver

    "Select" entre 3 tabelas

    É isso. Só que na parte do serviço seria: "Então Pesquisa DRY_SERVICO por SERVICO_ID." Eu quero que ele traga como nessa linha acima, por exemplo. Trazer um ou o outro. Esta meio confuso ainda ?
  6. Regis Oliver

    "Select" entre 3 tabelas

    Então. Olhando pra tabela dry_os_item tem a coluna os_item_tag. Nessa coluna da pra saber se é um "Produto" ou um "Servico" Deixei um exemplo da tabela com 2 itens inseridos com o mesmo id do produto > "produto_id". Agora eu não sei como fazer um Select pra trazer certo a descrição de cada um. Se alguém tiver alguma ideia, ou talvez, criar um campo a mais nas tabelas pra ajudar no "where".. Obrigado.
  7. Regis Oliver

    "Select" entre 3 tabelas

    Isso Motta. um ou outro! Eu queria uma forma de aparecer só a descrição do Produto, se for um produto ou só a descrição do Serviço se for um serviço. A tabela DRY_OS_ITEM só guarda o ID do serviço/produto e a TAG deles (Servico ou Produto). Essa condição está errada. Não tem o ID da OS na tabela Serviço. Mas, obrigado pela ajuda Motta.
  8. Regis Oliver

    "Select" entre 3 tabelas

    Oi galera. Estou tentando fazer um Select e estou apanhando um pouco. Seguinte: Tabelas: dry_os_item || dry_produto || dry_servico Gostaria de trazer quase todas as informações da tabela "DRY_OS_ITEM", mas na Descrição do ITEM, buscar a descrição no produto, se for um produto, ou a Descrição do serviço, se for um Serviço. Isso usando o mesmo CAMPO. Vou colocar as tabelas pra entender melhor. DRY_OS_ITEM OS_ITEM_ID OS_ID PRODUTO_ID PRODUTO_VALOR QUANTIDADE OS_ITEM_TOTAL OS_ITEM_DATA OS_ITEM_TAG 15 8 4 1.55 2 454.65 - produto 17 8 4 150 2 454.65 - servico DRY_PRODUTO: produto_id produto_descricao produto_tag DRY_SERVICO servico_id servico_descricao servico_tag Eu fiz o seguinte Select: select oi.os_item_id, oi.os_id, oi.produto_id, pi.produto_descricao || se.servico_descricao as Produto, oi.produto_valor, oi.quantidade, (oi.produto_valor * oi.quantidade) total from dry_os_item oi, dry_produto pi, dry_servico se where oi.OS_ID = 8 Resultado: OS_ITEM_ID OS_ID PRODUTO_ID PRODUTO PRODUTO_VALOR QUANTIDADE TOTAL 15 8 4 Cerveja Skol - LataEspelhamento Carro Esportivo 1.55 2 3.1 16 8 4 Cerveja Skol - LataEspelhamento Carro Esportivo 1.55 1 1.55 17 8 4 Cerveja Skol - LataEspelhamento Carro Esportivo 150 2 300 18 8 4 Cerveja Skol - LataEspelhamento Carro Esportivo 150 1 150 Note que o PRODUTO esta trazendo as duas descrições, do serviço e do produto. Claro que esse select eu fiz para ilustrar a dúvida. Tentei várias condições no WHERE, INNER JOIN, OUTER JOIN, IF EXISTS, etc etc e sem sucesso. Desculpe pela dúvida ser um pouco tonta, mas ja nao sei o que fazer. Se alguém puder me ajudar, por favor Agradeço desde já. Obrigado.
  9. Gostaria de alguns exemplos de como fazer uma conexão php com banco oracle. Já vi vários tutoriais e maneiras diferentes e sem sucesso. Eu tenho um servidor contratado na k2host, onde eu tenho o meu index.php <?php # Definindo pacotes de retorno em padrão JSON... header('Content-Type: application/json;charset=utf-8'); # Carregando o framework Slim... require 'Slim/Slim/Slim.php'; \Slim\Slim::registerAutoloader(); # Iniciando o objeto de manipulação da API SlimFramework $app = new \Slim\Slim(); $app->response()->header('Content-Type', 'application/json;charset=utf-8'); # Função de teste de funcionamento da API... $app->get('/', function () { echo "Bem-vindo a API do Sistema"; }); # Função para obter dados da tabela 'cliente'... $app->get('/clientes',function(){ # Variável que irá ser o retorno (pacote JSON)... $retorno = array(); $user = "user"; $pass = "pass"; $name = "db_name"; $host = "201.62.99.137"; $tns = " (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = ".$host.")(PORT = 1522)))(CONNECT_DATA = (SID = ".$name.")))"; try { $conn = new PDO("oci:dbname=".$tns,$user,$pass); echo 'conectado -> '.date('H:i:s'); foreach($conn->query('SELECT * from contrato') as $registro) { $registro = array( "NRO_CONTRATO" => $cliente["NRO_CONTRATO"], "DES_CONTRATO" => $cliente["DES_CONTRATO"]), "NRO_TIP_CONTRATO" => $cliente["NRO_TIP_CONTRATO"], "NRO_GRUPO" => $cliente["NRO_GRUPO"], ); $retorno[] = $registro; } }catch(PDOException $e) { echo ($e->getMessage()); } foreach(PDO::getAvailableDrivers() as $driver) echo '<br>',$driver, '<br>'; if(!$tns){ echo "Não foi possível se conectar ao banco de dados"; exit;} # Retornando o pacote (JSON)... $retorno = json_encode($retorno); echo $retorno; }); # Executar a API (deixá-la acessível)... $app->run(); ?> O retorno do codigo acima: Acessando http://../index.php/clientes could not find driver<br>dblib<br><br>firebird<br><br>mysql<br><br>odbc<br><br>pgsql<br><br>sqlite<br>[] A ideia era fazer a conexão de um APP que eu estou desenvolvendo no INTEL XDK. Ao clicar em um botão, ele acessaria o "index.php", por exemplo e trataria os dados. Se alguém puder me ajudar com esse erro ou tiver uma maneira mais fácil de fazer. Ficarei grato pelo ajuda. Obrigado.
  10. Regis Oliver

    Erro PDO (could not find driver)

    Estou com o mesmo problema, e a mensagem continua aparecendo. Fiz os procedimentos acima. Criei um arquivo php.ini e testei tambem com user.ini com as seguintes informações: extension=php_oci8.dll extension=php_oracle.dll extension=php_pdo_mysql.dll extension=php_pdo_firebird.dll extension=php_pdo_oci.dll Meus arquivos estão hospedados em um servidor contratado na internet. Tentei habilitar as configurações pelo Cpanel, mas sem sucesso. No index.php eu deixei a seguinte instrução para mostrar os Drivers: foreach(PDO::getAvailableDrivers() as $driver) echo '<br>',$driver, '<br>'; E aparece o seguinte: could not find driverdblibfirebirdmysqlodbcpgsqlsqlite Alguem pode me ajudar ?? por favor.
  11. Regis Oliver

    APEX - POPLOV e DYNAMIC ACTIONS

    Bom Dia. Estou com duvidas de como usar dynamic actions. Eu tenho um POPLOV onde eu busco um cliente e ele me retorna o ID desse cliente. Na mesma Pagina, existe uma região onde tem um item "EditText" que mostra se esse cliente tem um bloqueio ou não. Preciso que ao selecionar o cliente no POPLOV, um dynamic action ou de algum outro jeito, execute um "select no banco de dados" e me traga e popule o "EditText" se existir bloqueio, caso não tenha, não mostra nada. Obrigado. Att. Régis Oliver
  12. Regis Oliver

    APEX - Usando Collections

    Bom dia IMasters. Estou trabalhando com APEX (Application Express) da Oracle. Já li toda a documentação e estou estudando e trabalhando com essa tecnologia. Existe muito pouco conteúdo sobre o assunto e o que tem, geralmente está em inglês. Se alguém puder me ajudar. Estou com algumas dúvidas. No meu projeto APEX, estou trabalhando com vários formulários e salvando as informações do formulário em "Collections". Na mesma Página, existe uma "Região 01" com um "Interactive Report" contendo os produtos, onde eu informo a quantidade de produtos que serão inseridos na "Collection". Existe também Outra "Região 02" contendo um "Classic Report" onde irá mostrar os dados salvos nesta "Collection". Eu fiz um botão Submit para apenas recarregar a página, e assim, efetuar a gravação dos produtos na "Collection". Eu achei que fazendo isso já mostraria os produtos na "Região 02", mas não esta aparecendo nada. Chega até a aparecer as mensagens de Sucesso que foram adicionados os produtos na "Collection", e nada !!! Tem um botão de "NEXT" também que passa para a próxima Página. Nessa próxima Página eu coloquei também exatamente esse mesmo "Classic Report" do mesmo jeito, e nele aparece certinho os dados da "Collection". Não sei se expliquei direito. Se alguém puder me ajudar, por favor. Mostrando algum exemplo de como atualizar essas informações na mesma Página ou algo do tipo. Agradeço desde já. Obrigado. Att. Régis Oliver
  13. Regis Oliver

    Confirm do Javascript não funciona usando PHP

    Entendi, mas o que eu não entendo, é porque eu consigo fazer isso: echo "<script>alert('O CAMPO CODIGO DEVE ESTAR VAZIO'); history.back();</script>"; E isso não vai: echo"<script> if(confirm('Deseja Gravar o Cliente ?')){ alert('Gravado com Sucesso !!'); <?php echo '$executar' ?>; window.parent.location='cad_cliente.php'; }else{ alert('Cancelado!'); } </script>"; Se eu consigo dar um "Alert", era pra ir o "Confirm" também. Vou continuar estudando uma saida nessa forma. Caso não consiga mesmo. O que voce me sugere fazer ? Obrigado.
  14. Regis Oliver

    Confirm do Javascript não funciona usando PHP

    Então, mas estava funcionando perfeitamente. Acontece que eu mudei o meu código. Antes no ($executar = mysql_query("INSERT INTO) Eu estava passando os VALUES assim >> ( '$_POST[nome_cli];' ) Estava dando erro de variável constante não declarada. Ai no começo do código eu deixei assim: $codigo = @$_POST[cod_cli]; $nome = @$_POST[nome_cli]; $estado = @$_POST[estado_cli]; $carro = @$_POST[modelo_carro_cli]; $end = @$_POST[end_cli]; $cpf = @$_POST[cpf_cli]; $placa = @$_POST[placa_carro_cli]; $numero = @$_POST[numero_cli]; $rg = @$_POST[rg_cli]; $inativo = @$_POST[inativo_cli]; $bairro = @$_POST[bairro_cli]; $telefone = @$_POST[telefone_cli]; $cidade = @$_POST[cidade_cli]; $celular = @$_POST[celular_cli]; Ai no VALUE do INSERT eu passei as variáveis. Depois disso parou de aparecer o JS pra confirmar o cadastro. E também não redireciona a página. (window.parent.location='cad_cliente.php';). Ou seja, tudo que é JS não esta mais funcionando. Só que os dados são salvos perfeitamente no banco. Isso que eu achei estranho. Agradeço pela a tenção.
  15. Tudo bem Galera ? Sou novo no fórum, mas já acompanho à algum tempo os Tópicos. Sempre me ajudou muito. Estou com um problema aparentemente simples, mas não consegui achar o erro. Esse código abaixo executa, mas o Javascript não esta dando o Confirm, e também não esta redirecionando para o link (window.parent.location='cad_cliente.php';). $executar = mysql_query("INSERT INTO clientes(nome_cliente, endereco_cliente, numero_cliente, bairro_cliente, cidade_cliente, estado_cliente, cpf_cliente, rg_cliente, telefone_cliente, celular_cliente, carro_cliente, placa_cliente, data_cad_cliente, hora_cad_cliente, inativo_cliente) VALUES ('$nome', '$end', '$numero', '$bairro', '$cidade', '$estado', '$cpf', '$rg', '$telefone', '$celular', '$carro', '$placa', '$data', '$hora', '$inativo')") or die(mysql_error()); //$msg_cliente ="Cliente salvo com sucesso"; echo"<script> if(confirm('Deseja Gravar o Cliente ?')){ alert('Gravado com Sucesso !!'); <?php echo '$executar' ?>; window.parent.location='cad_cliente.php'; }else{ alert('Cancelado!'); } </script>"; Se alguém puder me ajudar. Eu ja agradeço desde já. Qualquer coisa, se precisar eu posto o restante do código. Obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.