Rebeca Julia Bronzatti
Membros-
Total de itens
9 -
Registro em
-
Última visita
Sobre Rebeca Julia Bronzatti
Rebeca Julia Bronzatti's Achievements
0
Reputação
-
Relacionamento 1:N replica os dados
pergunta respondeu ao Rebeca Julia Bronzatti de Rebeca Julia Bronzatti em Tutoriais & Dicas - PHP
Consegui resolver com a ajuda de outro fórum era só ter adicionado a cláusula GROUP BY nas minhas consultas, ela agrupa os resultados, no final minha consulta SQL ficou assim. SELECT imovel.id, imovel.tipo, imovel.locacao, imovel.valorLocacao, imovel.numQuartos, imovel.numSuites, imovel.numBanheiros, imovel.status, imovel.numVagas, imovel.descricao, imovel.rua, imovel.num, imovel.bairro, arquivoimagem.arquivo FROM imovel INNER JOIN arquivoimagem ON imovel.id = arquivoimagem.imovel_id WHERE locacao = 'Sim' AND status = 'Disponível' GROUP BY arquivoimagem.imovel_id";- 1 resposta
-
- bancodados
- php
-
(e %d mais)
Tags:
-
Relacionamento 1:N replica os dados
uma questão postou Rebeca Julia Bronzatti Tutoriais & Dicas - PHP
Oiê gente, eu queria a ajuda de vocês numa coisa que acredito ser simples, mas como sou iniciante estou encontrando dificuldade, é eu tenho duas tabelas uma chamada imóvel e outra arquivoimagem, onde em imóvel eu tenho os dados de um imóvel e em arquivoimagem o nome das imagens e os id delas, eu estou com um problema tanto no SGC quanto no site final, por se tratar de uma imobiliária os imóveis terão mais de uma imagem associadas a ele o dilema é que na hora que eu trago esses dados ele fica me replicando, por exemplo eu tenho um imóvel com 5 imagens associadas a ele, ele réplica esses dados 5 vezes, mudando somente a imagem, só que isso é inútil pra mim. Eu tenho ciência que o código da forma que está faz exatamente o que falei, problema é que eu não sei como mudar isso para o real objetivo. Eu queria que ele viesse somente uma imagem da base de dados associada aquele imóvel, se alguém puder me ajudar eu agradeço. <?php while ($dado = $conPagina->fetch_array()) { $dado['id']; ?> <div class="col s12 m12 l6"> <div class="card"> <div class="card-image"> <img src="<?php echo 'http://localhost/SGC/arquivo/' . $dado ['arquivo']; ?>" class="img-responsive"> <span class="card-title"><?php echo $dado['tipo']; ?></span> </div> <div class="card-content"> <p><?php echo $dado['descricao']; ?></p> <br> <div class="detalhes center-align"> <div class="number "><img src="img/cama.png" style="margin-left: 10px; margin-right: 8px;"><?php echo $dado['numQuartos']; ?></div><br> <div class="number "><img src="img/garagem.png" style="margin-left: 10px; margin-right: 8px;"><?php echo $dado['numVagas']; ?></div><br> <div class="number "><img src="img/banheiro.png" style="margin-left: 10px; margin-right: 8px;"><?php echo $dado['numBanheiros']; ?></div> <div class="number "><img src="img/suite.png" style="margin-left: 10px; margin-right: 8px;"><?php echo $dado['numSuites']; ?></div> </div> </div> <div class="card-action"> <a href="<?php echo "imovel.php?id=" . $dado['id'] ?>"><button type="submit" name="action" class="btn waves-effect waves-ligth btn-small right"> Ver Mais</button></a> <a class="valor" href="#">R$ <?php echo number_format($dado["valorLocacao"], 2, ',', '.');?></a> </div> </div> </div> <?php } ?> $result_imoveis = "SELECT imovel.id, imovel.tipo, imovel.locacao, imovel.valorLocacao, imovel.numQuartos, imovel.numSuites, imovel.numBanheiros, imovel.status, imovel.numVagas, imovel.descricao, imovel.rua, imovel.num, imovel.bairro, arquivoimagem.arquivo FROM imovel INNER JOIN arquivoimagem ON imovel.id = arquivoimagem.imovel_id WHERE locacao = 'Sim' AND status = 'Disponível'"; $resultado_imoveis = mysqli_query($cnn, $result_imoveis); $total_imoveis = mysqli_num_rows($resultado_imoveis); //Seta a quantidade de cursos por pagina $quantidade_pagina = 8; //Calcular o número de página necessaria $num_paginas = ceil($total_imoveis / $quantidade_pagina); //Calcula o inicio da visuzalização $inicio = ($quantidade_pagina * $pagina) - $quantidade_pagina; //Selecionar os imoveis a serem apresentados na página $consultaPagina = "SELECT imovel.id, imovel.tipo, imovel.locacao, imovel.valorLocacao, imovel.numQuartos, imovel.numSuites, imovel.numBanheiros, imovel.status, imovel.numVagas, imovel.descricao, imovel.rua, imovel.num, imovel.bairro, arquivoimagem.arquivo FROM imovel INNER JOIN arquivoimagem ON imovel.id = arquivoimagem.imovel_id WHERE locacao = 'Sim' AND status = 'Disponível' LIMIT $inicio, $quantidade_pagina"; $conPagina = mysqli_query($cnn, $consultaPagina); $total_imoveis = mysqli_num_rows($conPagina); ?>- 1 resposta
-
- bancodados
- php
-
(e %d mais)
Tags:
-
Olá, eu gostaria de uma ajuda, eu to fazendo um site pra uma imobiliária, tenho 8 campos que realizam a filtragem dos imoveis, esse campos não são obrigatórios e o problema ta ai, eu não faço ideia de como fazer um select com campos variados, ate fiz algo com IF no entanto ficou muito muito extenso já que eu precisaria deduzir todas as formas possíveis de filtragem que o usuário final poderia realizar, vi algumas coisas também com select que contem IF, mas confesso que não entendi muito bem, se alguém puder me ajudar eu agradeceria, eu tenho duas tabelas, imovel e arquivoimagem, a busca é com 8 campos, localidade, tipo, preço minimo e preço máximo, churrasqueira, condomínio, quintal e piscina, existe um inner join entre essas tabelas já que o nome das imagens estão lá.
-
Filtros
pergunta respondeu ao Rebeca Julia Bronzatti de Rebeca Julia Bronzatti em Tutoriais & Dicas - PHP
Felipe, então eu tentei fazer uma condição dentro da consulta sql, mas eu cai em outro problema pra variar kkkk, como eu disse eu tenho um filtro de imoveis com algo em torno de 10 campos, entre eles; input, select, button , como eu não tenho um submit pra esse formulário eu to usando ajax e javascript pra mandar os campos que foram preenchidos para o php e verificar, to fazendo uns teste com um filtro reduzido somente dois campos, eu já consigo pegar os valores inseridos com ajax e passar para o php, mas quando chego no php ele não executa e me da erro. <form method="POST" id="form-pesquisa" action=""> <input type="text" id="pesquisa" style="width: 35%; height: 40px; text-align: center; font-size: 25px;"/> <select name="idade" id="select_idade"> <option value="" selected></option> <option value="19" >19</option> <option value="18">18</option> </select> </form> $(function(){ $("#select_idade").change(function(){ var select_idade = $(this).val(); if(select_idade != ''){ var select = { idade : select_idade } $.post('busca_banco.php', select, function(retorna){ $(".resultado").html(retorna); }); }else{ $(".resultado").html(''); } }); //Pesquisar sem refresh na página $("#pesquisa").keyup(function(){ var pesquisa = $(this).val(); //Verifica se há algo digitado if(pesquisa != ''){ var dados = { palavra : pesquisa } $.post('busca_banco.php', dados, function(retorna){ //Mostra dentro da div os resultados obtidos $(".resultado").html(retorna); }); }else{ $(".resultado").html(''); } }); }); $busca = $_POST['palavra']; $idade = $_POST['select_idade']; $busca_select = "SELECT * FROM teste WHERE TRUE AND IF('$idade' != 0, TRUE) AND IF('$busca' !=0, TRUE)"; $result_busca = mysqli_query($cnn, $busca_select); if(mysqli_num_rows($result_busca)<=0){ echo '<div style = "width:80%; overflow:auto; border-bottom:1px solid #333"> Não existe resultado </div> '; }else{ while ($rows = mysqli_fetch_assoc($result_busca)){ echo '<div style = "width:35%; overflow:auto; border-bottom:1px solid #333"> '.$rows['idade'].' - '.$rows['palavra'].' <br> </div> '; } } -
Boa tarde, eu to desenvolvendo um site de imobiliária e confesso que to empacada em uma parte e não faço ideia de pra onde ir, se alguém puder me ajudar agradeceria muito. O site possui filtros em torno de 10 filtro, ex: quantidade de quartos, localidade e etc, o meu maior dilema é como fazer esse filtros, já que não existe um submit no formulário, minha ideia inicial era pegar os campos preenchidos e fazer uma consulta com eles, mas ai eu entro em outro dilema eu não sei quais campos vão ser preenchidos já que eles não são obrigatórios, como fazer uma consulta de um item num campo onde eu nem sei se foi preenchido mesmo. Se alguém puder me dar uma luz, eu agradeço e muito.
-
Selecionar dados com a maior data
pergunta respondeu ao Rebeca Julia Bronzatti de Rebeca Julia Bronzatti em MySQL
Muito Obrigada! Pode me ajudar em outra consulta? Existem várias imagens para um imóvel, gostaria de listar todos os imoveis que existem no banco e somente uma imagem para cada imóvel, o problema é que ele me lista todas as imagens que aquele imóvel tem associada. SELECT imovel.id, imovel.tipo, imovel.locacao, imovel.venda, imovel.valor, imovel.numQuartos, imovel.numSuites, imovel.numBanheiros, imovel.status, imovel.numVagas,imovel.bairro, imovel.locacao,imovel.venda, arquivoimagem.arquivo FROM imovel INNER JOIN arquivoimagem ON imovel.id = arquivoimagem.imovel_id -
(Resolvido) Fazer uma transação
pergunta respondeu ao Rebeca Julia Bronzatti de Rebeca Julia Bronzatti em Tutoriais & Dicas - PHP
Acabei conseguindo fazer, muito obrigada. Segue o código caso alguém precise. <?php include 'Conexao.php'; mysqli_autocommit($cnn, FALSE); $tipo = filter_input(INPUT_POST, 'tipo', FILTER_SANITIZE_STRING); $locacao = filter_input(INPUT_POST, 'locacao', FILTER_SANITIZE_STRING); $venda = filter_input(INPUT_POST, 'venda', FILTER_SANITIZE_STRING); $status = filter_input(INPUT_POST, 'status', FILTER_SANITIZE_STRING); $valor = filter_input(INPUT_POST, 'valor', FILTER_SANITIZE_NUMBER_FLOAT); $areaTerreno = filter_input(INPUT_POST, 'areaTerreno', FILTER_SANITIZE_NUMBER_INT); $areaConstruida = filter_input(INPUT_POST, 'areaConstruida', FILTER_SANITIZE_NUMBER_INT); $numQuartos = filter_input(INPUT_POST, 'numQuarto', FILTER_SANITIZE_NUMBER_INT); $numSuites = filter_input(INPUT_POST, 'numSuite', FILTER_SANITIZE_NUMBER_INT); $numBanheiros = filter_input(INPUT_POST, 'numBanheiro', FILTER_SANITIZE_NUMBER_INT); $numVagas = filter_input(INPUT_POST, 'numVaga', FILTER_SANITIZE_NUMBER_INT); $descricao = filter_input(INPUT_POST, 'descricao', FILTER_SANITIZE_STRING); $rua = filter_input(INPUT_POST, 'rua', FILTER_SANITIZE_STRING); $num = filter_input(INPUT_POST, 'num', FILTER_SANITIZE_NUMBER_INT); $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_STRING); $pontReferencia = filter_input(INPUT_POST, 'pontReferencia', FILTER_SANITIZE_STRING); $cep = filter_input(INPUT_POST, 'cep', FILTER_SANITIZE_NUMBER_INT); $cidade = filter_input(INPUT_POST, 'cidade', FILTER_SANITIZE_STRING); $nomeProprietario = filter_input(INPUT_POST, 'nomeProprietario', FILTER_SANITIZE_STRING); $sobrenomeProprietario = filter_input(INPUT_POST, 'sobrenomeProprietario', FILTER_SANITIZE_STRING); $cpfProprietario = filter_input(INPUT_POST, 'cpf', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'emailProprietario', FILTER_SANITIZE_EMAIL); $celular = filter_input(INPUT_POST, 'celular', FILTER_SANITIZE_STRING); $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : ""; $erro = 0; if (isset($_FILES['arquivo'])) { $nomeImagem = $arquivo['name']; $tiposPermitidos = ['jpg', 'jpeg', 'png']; $quantArquivos = 12 /*count($_FILES['arquivo']['name'])*/; $contador = 0; $sql = "INSERT INTO `imovel` (`tipo`, `locacao`, `venda`, `status`, `valor`, `areaTerreno`, `areaConstruida`, `numQuartos`, `numSuites`, `numBanheiros`, `numVagas`, `descricao`, `rua`, `num`, `bairro`, `pontoReferencia`, `cep`, `cidade`, `nomeProprietario`, `sobrenomeProprietario`, `cpf`, `emailProprietario`, `celular`, `created`) VALUES ('$tipo', '$locacao', '$venda', '$status', '$valor', '$areaTerreno', '$areaConstruida', '$numQuartos', '$numSuites', '$numBanheiros', '$numVagas', '$descricao', '$rua', '$num', '$bairro', '$pontReferencia', '$cep', '$cidade', '$nomeProprietario', '$sobrenomeProprietario', '$cpfProprietario', '$email', '$celular', NOW())"; if(mysqli_query($cnn, $sql)){ $imovel_id = mysqli_insert_id($cnn); }else { $erro++; } while ($contador < $quantArquivos) { $extensao = pathinfo($_FILES['arquivo']['name'][$contador], PATHINFO_EXTENSION); $temporario = $_FILES['arquivo']['tmp_name'][$contador]; if (in_array($extensao, $tiposPermitidos)) { $tamanho = $arquivo ['size']; $novo_nome = uniqid() . ".$extensao"; $diretorio = "arquivo/"; $sql_code = "INSERT INTO arquivoimagem (arquivo, data, imovel_id) VALUE ('$novo_nome', NOW(), '$imovel_id')"; if (!mysqli_query($cnn, $sql_code)) { $erro++; } if ($erro == 0) { if (move_uploaded_file($temporario, $diretorio . $novo_nome)) { header("Location: DadosImovel.php"); } mysqli_commit($cnn); } else { mysqli_rollback($cnn); } } else { print "O arquivo não pode ser salvo"; } $contador++; }echo 'O número de imagens excede o permitido'; }else { echo'Não foi possivel salvar'; } -
Gostaria de saber se alguém consegue me ajudar a fazer uma transação, eu tenho duas tabelas e elas são dependentes entre si, mas nunca realizei uma transação com PHP, gostaria de saber se alguém consegue me ajudar com isso, desde já agradeço
-
Se alguém conseguir me ajudar agradeceria muito, to faz dois dias batendo a cabeça com isso, meu software é um sistema de cadastro de imóvel, toda vez que o usuário cadastrar um imóvel, vai aparecer uma tela com a confirmação do imóvel, o problema é que não consigo retornar esse dados para o usuário, minha ideia é fazer pela maior data, mas o problema é que ele me retorna os dados do primeiro imóvel e não do que foi inserido por último. SELECT tipo, locacao, venda, status, valor, areaTerreno, areaConstruida, numQuartos, numSuites, numBanheiros, numVagas, descricao, rua, num, bairro, pontoReferencia, cep, cidade, nomeProprietario, sobrenomeProprietario, cpf, emailProprietario, celular, MAX(created) FROM imovel WHERE created