Jump to content
Sign in to follow this  
murruguinha

Consulta select atraves do union

Recommended Posts

Boa Tarde não consigo fazer sair resultado nessa consulta, quando uso um gerenciador de consulta, funciona, porem em php não sai resultado, mas tambem não dá erro.

 

No gerenciado de mysql faço a consulta desse jeito:

SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep  DESC LIMIT 4 UNION SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4

or

(SELECT * FROM parceiro
WHERE cep <='02673-000'
ORDER BY cep  DESC LIMIT 4)
UNION
(SELECT * FROM parceiro
WHERE cep >'02673-000'
ORDER BY cep LIMIT 4);

=======================

No PHP

=======================

<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
<!--
body,td,th {
 font-family: Verdana, Geneva, sans-serif;
 font-size: 12px;
}
-->
</style>
<?
// Conexão com o banco de dados
$conn = @mysql_connect("179.188.16.43", "maruyamafregue", "senha") or die ("Problemas na conexão.");
$db = @mysql_select_db("maruyamafregue", $conn) or die ("Problemas na conexão");
?>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
CEP
  <input type="text" name="pesq_cep" id="pesq_cep" />
  <input type="submit" name="alterar" id="alterar" value="ok" />
</form>
<br>
  <?php
 $tabela = mysql_query("SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep  DESC LIMIT 4 UNION SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4");
 while ($resultado = mysql_fetch_array($tabela))
 /*  echo $id = $resultado['id_parc'];*/
   {
?>
<table width="600" border="1">
  <tr>
    <td><?php echo $parceiro = $resultado['parceiro']; ?></td>
    <td><?php echo $cep = $resultado['cep']; ?></td>
  </tr>
</table>
<?php }?>
</body>
</html>

Alguem pode me ajudar a finalizar essa query no php?

Share this post


Link to post
Share on other sites

Para quem puder me ajudar segue dados da tabela.

--
-- Estrutura da tabela `parceiro`
--

CREATE TABLE IF NOT EXISTS `parceiro` (
  `id_parc` int(11) NOT NULL AUTO_INCREMENT,
  `parceiro` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `ramo` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `cep` varchar(10) COLLATE latin1_general_ci DEFAULT NULL,
  `endereco` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `numero` varchar(30) COLLATE latin1_general_ci DEFAULT NULL,
  `complemento` varchar(50) COLLATE latin1_general_ci DEFAULT NULL,
  `bairro` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `cidade` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `uf` varchar(5) COLLATE latin1_general_ci DEFAULT NULL,
  PRIMARY KEY (`id_parc`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=21 ;

--
-- Extraindo dados da tabela `parceiro`
--

INSERT INTO `parceiro` (`id_parc`, `parceiro`, `ramo`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `uf`) VALUES
(1, 'MECANICA JOARES', 'MECANICA', '02673-000', 'AV GAL. PENHA BRASIL', '89', 'CASA 01', 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(2, 'DODO', 'AUTO PEÇAS', '02673-000', 'AV GAL. PENHA BRASIL', '1640', NULL, 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(3, 'APVT', 'CONTABILIDADE', '02673-000', 'AV GAL. PENHA BRASIL', '1580', '1º ANDAR', 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(4, 'REFRIGERA SERVIÇOS', 'ASSISTENCIA TECNICA GELADEIRAS', '02673-000', 'AV GAL. PENHA BRASIL', '1526A', NULL, 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(5, 'SERRALHERIA P. BRASIL', 'SERRALHERIA', '02673-000', 'AV GAL. PENHA BRASIL', '15210', NULL, 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(6, 'DOCES PENHA BRASIL', 'ATACADO DE DOCES', '02673-000', 'AV GAL. PENHA BRASIL', '1483', NULL, 'VILA NOVA CACHOEIRINHA', 'SAO PAULO', 'SP'),
(7, 'Extra', 'Supermercado', '02861-190', 'AV INAJAR DE SOUZA', '5550', NULL, 'VILA RICA', 'SAO PAULO', 'SP'),
(8, 'Cobal', 'Supermercado', '02861-190', 'AV INAJAR DE SOUZA', '5646', NULL, 'VILA RICA', 'SAO PAULO', 'SP'),
(9, 'KEROMAIS COM. PROD.ALIMENTICIOS LTDA', 'Supermercado', '02010-400', 'R VOL.S DA PATRIA', '1652', NULL, 'SANTANA', 'SAO PAULO', 'SP'),
(10, 'NILSA C A PARLAMENTO ME', 'Supermercado', '02011-500', 'R VOL.S DA PATRIA', '2287', NULL, 'SANTANA', 'SAO PAULO', 'SP'),
(11, 'KALUPEL EMBALAGENS LTDA EPP', 'EMBALAGENS', '02465-000', 'AV IMIRIM', '303', NULL, 'IMIRIM', 'SAO PAULO', 'SP'),
(12, 'RUGINI EMBALAGENS E DESCARTAVEIS LTDA ME', 'EMBALAGENS', '02465-200', 'AV IMIRIM', '1651', NULL, 'IMIRIM', 'SAO PAULO', 'SP'),
(13, 'BIANCA PEGO DIOC COM E MAN MAQ P/CAFE ME', 'RESTAURANTE', '02515-010', 'R JAGUARETE', '96', NULL, 'CASA VERDE', 'SAO PAULO', 'SP'),
(14, 'LUCATEX COM. EMBALAGENS LTDA ME', 'EMBALAGENS', '02516-000', 'R ATILIO PIFFER', '590', NULL, 'CASA VERDE', 'SAO PAULO', 'SP'),
(15, 'LUNA PRODUTOS PANIFICACAO E CONF.LTDA ME', 'PANIFICADORA', '02541-000', 'R MANDIBA', '380', NULL, 'IMIRIM', 'SAO PAULO', 'SP'),
(16, 'RILU PLAST COM DE EMB LTDA', 'EMBALAGENS', '02550-000', 'AV MANDAQUI', '345', NULL, 'LIMAO', 'SAO PAULO', 'SP'),
(17, 'LUIZ CARLOS FREIRE', 'EMBALAGENS', '02562-010', 'R ANDREA DEL CASTAGNO', '696', NULL, 'VILA SANTA MARIA', 'SAO PAULO', 'SP'),
(18, 'MJ COM EMB PROD DESC LTDA ME', 'EMBALAGENS', '02633-000', 'AV PERI RONCHETTI', '295', NULL, 'JARDIM PERI', 'SAO PAULO', 'SP'),
(19, 'SOCIEDADE ROSAS DE OURO', 'ESCOLA', '02713-000', 'R CEL. EUCLIDES MACHADO', '1066', NULL, 'JARDIM DAS GRACAS', 'SAO PAULO', 'SP'),
(20, 'LIMAPLAST EMBALAGENS LTDA ME', 'EMBALAGENS', '02717-000', 'AV INAJAR DE SOUZA', '67', NULL, 'LIMAO', 'SAO PAULO', 'SP');

Share this post


Link to post
Share on other sites

O problema é no BD ou no PHP ?

 

O que se quer ?

Exemplos de CEP maiores e menores que um determinado ?

Share this post


Link to post
Share on other sites

Oi Motta, o problema é no PHP, no Banco de dados a consulta


(SELECT * FROM parceiro
WHERE cep <='02673-000'
ORDER BY cep DESC LIMIT 4)
UNION
(SELECT * FROM parceiro
WHERE cep >'02673-000'
ORDER BY cep LIMIT 4);

 

 

Funciona normal, agora estou tentando fazer essa consulta funcionar no php.

se colocar.

	$tabela = mysql_query("SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000'");

Funciona, porem se colocar a query inteira ele não me tras o retorno.

	$tabela = mysql_query("SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep  DESC LIMIT 4 UNION SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4");

Share this post


Link to post
Share on other sites

Oi Motta consegui, fiz o seguinte codigo.

  <?php 
	$tabela = mysql_query("(SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep  DESC LIMIT 4) UNION (SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4)");
	while ($resultado = mysql_fetch_array($tabela))
	/*		echo $id = $resultado['id_parc'];*/
			{
?>

Pequei o caso que estava dando errado no seguinte link...

http://forum.imasters.com.br/topic/540417-select-em-duas-tabelas/

 

No caso do usuario hemesvs , não funcionou mais na minha funcionou.

Achei o estranho que na solução dele não funcionou pra mim.

 

Mas desde já agradeço a atenção mota.

Share this post


Link to post
Share on other sites

Oi Motta consegui, fiz o seguinte codigo.

  <?php 
	$tabela = mysql_query("(SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep  DESC LIMIT 4) UNION (SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4)");
	while ($resultado = mysql_fetch_array($tabela))
	/*		echo $id = $resultado['id_parc'];*/
			{
?>

Pequei o caso que estava dando errado no seguinte link...

http://forum.imasters.com.br/topic/540417-select-em-duas-tabelas/

 

No caso do usuario hemesvs , não funcionou mais na minha funcionou.

Achei o estranho que na solução dele não funcionou pra mim.

 

Mas desde já agradeço a atenção mota.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By wandoh
      Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
       
      session_start(); //inicializa variaveis $id = "accountid"; $name = ""; $email = ""; $errors = array(); //conexão db $db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database"); //Registrar usuário if (isset($_POST['reg_user'])) { // receives all input values from the form $name = mysqli_real_escape_string($db, $_POST['name']); $email = mysqli_real_escape_string($db, $_POST['email']); $password = mysqli_real_escape_string($db, $_POST['password']); $password2 = mysqli_real_escape_string($db, $_POST['password2']); //form validação: ensure that the form is correctly filled ... // by adding (array_push)) corresponding error unto $errors array if(empty($name)) { array_push($errors, " "); } if(empty($email)) { array_push($errors, " "); } if(empty($pwd)) { array_push($errors, " "); } if($pwd != $pw2) { array_push($errors, " "); } // To protect MySQL injection (more detail about MySQL injection) $name = stripslashes($name); $password = stripslashes($password); // first check the databese to make sure // verifica na db se a usuário existente com o mesmo nome de usuário e email $user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1"; $result = mysqli_query($db, $user_check_query); $user = mysqli_fetch_assoc($result); if($user) { // if user existente if ($user['name'] === $name) { array_push($errors, " "); } if ($user['email'] === $email) { array_push($errors, " "); } } // Registra o usuário se não haver erros if (count($errors) == 0 ) { $pwd = md5($pwd); print $pwd; $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')"; mysqli_query($db, $query); $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); } } //LOGIN USER if (isset($_POST['login_user'])) { $name = mysqli_real_escape_string($db, $_POST['name']); $password = mysqli_real_escape_string($db, $_POST['password']); if (empty($name)) { array_push($errors, " "); } if (empty($password)) { array_push($errors, " "); } if (count($errors) == 0 ) { $pwd = md5($pwd); $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'"; $results = mysqli_query($db, $query); if (mysqli_num_rows($results)) { $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); }else{ array_push($errors, " "); } } } Com a variável abaixo, é exibido o nome de quem esta logado.
      $_SESSION["name"] Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
      $_SESSION["email"] Notice: Undefined index: email in Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
       Sou novo em PHP!
      Preciso puxar todos os dados cadastrado do usuário.
    • By FabianoSouza
      Tenha a tab A (tabela pai) e a tab B (tabela filha).
      Quero saber como "mesclar" num SELECT os valores de um campo específico da tabela B com os campos já exibidos da tabela A numa única linha.
       
      Que ficasse uma linha mais ou menos assim:
       
      LINHA:
      _______________________________________________________________________________________________________________
      NomeCompleto (da tab A) | Salario (da tab A) | Idade (da tab A) | Fotos (foto1.jpg, foto2.jpg, foto3.jpg... da tab B)
      _______________________________________________________________________________________________________________
       
       
      O caractére separador no campo Fotos por ser vírgula, hífen, etc.
    • By Mauricio Molina
      Boa tarde.
       
      Ainda sou iniciante, se puderem me ajudar agradeço!
       
      Estou com uma dificuldade em manter a opção selecionada no  campo select, após salvar os dados em duas situações distintas:
       
      O que mais preciso fazer?
       
      <div class="col-md-2 col-sm-2 col-xs-7"> <div class="form-group"> <label for="config_horario_domingoferiado">Domingo e Feriado<span class="text-danger">*</span></label> <select name="config_horario_domingoferiado" id="config_horario_domingoferiado" class="form-control" value="<?= $data['config']->config_horario_domingoferiado ?>" required> <option>Aberto</option> <option>Fechado</option> </select> </div> </div> <div class="col-md-3 col-sm-3 col-xs-12"> <div class="form-group"> <label for="imovel_financ">Bandeiras<span class="text-danger">*</span></label> <select name="imovel_financ" id="imovel_financ" class="form-control"> <option value=" ">Selecione...</option> <option value="Aceita Financiamento">Aceita Financiamento</option> <option value="Alugado">Alugado</option> <option value="Frente para Mar">Frente para Mar</option> <option value="Lançamento">Lançamento</option> <option value="Oportunidade">Oportunidade</option> </select> </div> </div>  
    • By asacap1000
      Galera salve a todos.
       
      Gostaria de saber se é possivel e se for como fazer.  Tenho um select de faturamento, e nesta consulta ele me traz o numero da NF, ele me traz os ítens faturados. Gostaria de saber se´no próprio select é possível trazer o numero da NF apenas uma vez, e nas outras linhas que estarão vindo os ítens cobrados estes campos ficarem vazios.
       
      Segue exemplo hoje como está e como eu preciso.
       

       
      Como eu preciso:
       

       
       
      Abaixo o select
       
      SELECT A.ID_KLIENT COD, K.NAME NOME, A.BILLITE ITEM, I.DESCRIPTION DESC_ITEM, SUM(A.MNG) QUANT, SUM(ROUND(A.PREIS, 3)) VALOR, BO.NR_NF NF FROM BILL_OS_ITEM A, BILL_ITEM I, KLIENTEN K, BILL_OS BO, (SELECT T.DOCSVE_REF, D.DOCHD_DOC_ID FROM FISCAL.DOCSVE T, FISCAL.DOCHD D WHERE T.DOCSVE_DOC_PRC_ID = D.DOCHD_DOC_PRC_ID) REFE WHERE I.BILLITE = A.BILLITE AND A.ID_KLIENT = K.ID_KLIENT AND BO.NR_NF = REFE.DOCHD_DOC_ID(+) AND BO.ID_KLIENT = K.ID_KLIENT AND BO.STATUS <> '80' AND BO.ID_OS = A.ID_OS AND TRUNC(BO.DATE_EMISS) >= TO_DATE('01/09/2019', 'DD/MM/YYYY') AND TRUNC(BO.DATE_EMISS) <= TO_DATE('30/09/2019', 'DD/MM/YYYY') GROUP BY A.ID_KLIENT, K.NAME, A.BILLITE, I.DESCRIPTION, BO.NR_NF, BO.LOTE, REFE.DOCSVE_REF ORDER BY K.NAME, A.ID_KLIENT, A.BILLITE  
    • By EltonRodrigo
      Eu tenho um formulário com todos os campos desativados com exceção do primeiro. Ao preencher o primeiro campo, se o valor existir no banco de dados todos os campos devem ser ativados. Fiz isso utilizando o evento blur do jquery. O problema é  que o segundo campo é um select, quando clico nesse campo os mesmos não são ativados, mas se clicar no terceiro campo que é um input=text funciona. Eu não posso inverter a ordem dos campos. Segue o código:
       
      <div class="form-group"> <input type="text" class="form-control form-control-sm" name="txt_dd_n_fogo" id="txt_dd_n_fogo" required placeholder="Nº de fogo do pneu"> </div> <div class="form-group"> <select class="form-control form-control-sm" name="txt_dd_marca" id="txt_dd_marca" required disabled> <option value="">Marca do pneu</option> <option value="BRIDGESTONE">BRIDGESTONE</option> <option value="CENTAURO">CENTAURO</option> <option value="CONTINENTAL">CONTINENTAL</option> <option value="FATE">FATE</option> <option value="FIRESTONE">FIRESTONE</option> <option value="GOODYEAR">GOODYEAR</option> <option value="KUMHO">KUMHO</option> <option value="LANDE">LANDE</option> <option value="MARSHAL">MARSHAL</option> <option value="MAGGION">MAGGION</option> <option value="MASTER">MASTER</option> <option value="MICHELIN">MICHELIN</option> <option value="PIRELLI">PIRELLI</option> <option value="SEIBERLING">SEIBERLING</option> <option value="TOYO">TOYO</option> <option value="YOKOHAMA">YOKOHAMA</option> </select> </div> <div class="form-group"> <select class="form-control form-control-sm" name="txt_dd_medida" id="txt_dd_medida" required disabled> <option value="">Medida do pneu</option> <option value="205/75">205/75</option> <option value="215/75">215/75</option> <option value="215/75.17.5">215/75.17.5</option> <option value="215/80">215/80</option> <option value="235/75">235/75</option> <option value="275/70">275/70</option> <option value="275/80">275/80</option> <option value="295/80">295/80</option> <option value="385/65">385/65</option> <option value="750/16">750/16</option> <option value="900/20">900/20</option> <option value="1000/20 comum">1000/20 comum</option> <option value="1000/20 radial">1000/20 radial</option> <option value="1100/20">1100/20</option> </select> </div> <div class="form-group"> <input type="text" class="form-control form-control-sm" name="txt_dd_mm" id="txt_dd_mm" placeholder="Milímetro(Atual)" disabled> </div> <div class="form-group"> <!-- <label for="txt_de_km">KM</label> --> <input class="form-control form-control-sm" type="text" name="txt_dd_km" id="txt_dd_km" placeholder="KM" required disabled> </div> <div class="form-group"> <select class="form-control form-control-sm" name="txt_dd_estado" id="txt_dd_estado" required disabled> <option value="">Estado do pneu</option> <option value="NOVO">NOVO</option> <option value="NOVO USADO">NOVO USADO</option> <option value="NOVO CONSERTADO">NOVO CONSERTADO</option> <option value="1ª RESSOLAGEM">1ª RESSOLAGEM</option> <option value="2ª RESSOLAGEM">2ª RESSOLAGEM</option> <option value="3ª RESSOLAGEM">3ª RESSOLAGEM</option> <option value="4ª RESSOLAGEM">4ª RESSOLAGEM</option> <option value="COM AVARIAS">COM AVARIAS</option> <option value="DESCARTADO">DESCARTADO</option> <option value="RESSOLADO CONSERTADO">RESSOLADO CONSERTADO</option> <option value="VULCANIZAR">VULCANIZAR</option> </select> </div> <div class="form-group"> <textarea class="form-control" name="txt_dd_obs" id="txt_dd_obs" rows="2" placeholder="Observações" disabled></textarea> </div> <div class="custom-file"> <input type="file" name="txt_dd_img" class="custom-file-input" id="txt_dd_img" lang="pt-br" onchange="readURLdd(this);" disabled> <label class="custom-file-label" for="customFile">Escolha uma imagem</label> </div> <input type="submit" class="btn btn-primary" name="bt_dd" id="bt_salvar" value="Salvar" hidden>  
      $(function(){ $("input[name='txt_dd_n_fogo']").blur( function(){ var txt_dd_n_fogo = $("input[name='txt_dd_n_fogo']").val(); $.post('posicoes/function.php',{txt_dd_n_fogo: txt_dd_n_fogo},function(data){ if( data!='Não existe ainda!' ){ alert(data); $("input[name='txt_dd_n_fogo']").val(''); $("#txt_dd_marca").prop("disabled", true); $("#txt_dd_medida").prop("disabled", true); $("#txt_dd_mm").prop("disabled", true); $("#txt_dd_data").prop("disabled", true); $("#txt_dd_km").prop("disabled", true); $("#txt_dd_estado").prop("disabled", true); $("#txt_dd_obs").prop("disabled", true); $("#txt_dd_img").prop("disabled", true); $("#bt_salvar").prop("hidden", true); }else{ $("#txt_dd_marca").prop("disabled", false); $("#txt_dd_medida").prop("disabled", false); $("#txt_dd_mm").prop("disabled", false); $("#txt_dd_data").prop("disabled", false); $("#txt_dd_km").prop("disabled", false); $("#txt_dd_estado").prop("disabled", false); $("#txt_dd_obs").prop("disabled", false); $("#txt_dd_img").prop("disabled", false); $("#bt_salvar").prop("hidden", false); } }); }); }); Tentei criar um botão hidden sobre os todos os campos, ao ser clicado o mesmo ficava como hidden e habilitava todos os campos, até deu certo, mas ao preencher o campo nº de fogo novamente ele não executa mais a função de verificação. Precisa ficar bem amarrado, caso o usuário digite um nº que já existe os campos precisam ficar desabilitados.
       
×

Important Information

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