Jump to content

Carlos Antoliv

Members
  • Content count

    245
  • Joined

  • Last visited

  • Days Won

    1

Carlos Antoliv last won the day on October 16 2015

Carlos Antoliv had the most liked content!

Community Reputation

6 Regular

2 Followers

About Carlos Antoliv

Informações Pessoais

  • Sexo
    Masculino

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Então, eh algo até simples, problema de lógica e tudo. Eu tinha feito, mas o codigo sumiu do nada e nao lembro mais da lógica que eu empregara. O enredo éh assim tabela_grupo_produtos e tabela tabela_produtos Na tabela_grupo_produtos tem: - informatica; - eletrodomestico; - brinquedos; na tabela_produtos tem os podutos que são ligados a tabela de grupo de grupo de produtos: - informatica->notebook - informatica->computador - informatica->roteador - eletrodomestico->geladeira - eletrodomestico->microondas - eletrodomestico->fogao - brinquedos->lego - brinquedos->boneca - brinquedos->carrinhos O que estou tentando fazer é o seguinte: - informatica->notebook ->computador ->roteador - eletrodomestico->geladeira ->microondas ->fogao - brinquedos- >lego -> boneca ->carrinhos Ou seja, mostra na tela pelo "GRUPO" de produtos. fiz um select no banco.... e tambem um foreach, mas tem algo que ta errado. Cheguei até executar dois selects distintos: EXEMPLO: <!--#################### CÓDIGO SESSÃO ################################ --> <?php session_start(); echo "Usuario: ". $_SESSION['usuarioNome']; echo "<br>"; echo "Codigo: ". $idSessao = $_SESSION['usuarioId']; ?> <br> <a href="sair.php">Sair</a> <!-- #####################FIM CODIGO SESSÃO ############################### --> <?php $servername = "localhost"; $username = "root"; $password = ""; $database = ""; try { $conexao2 = new PDO('mysql:host=localhost;dbname=banco', $username, $password); $conexao2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } $sql2 = "SELECT pdos.fk_usuarios, pdos.nome_prod, pdo.nome_produto, nome_grupo_prod, pdos.foto, pdos.desc_prod, pdos.peso_liq_prod, pdos.qtd_prod, pdos.id_prod, pdos.un_medida FROM tb_produtos AS pdos JOIN tb_produto AS pdo ON pdos.nome_prod = pdo.id_produto JOIN tb_grupo_prod AS gpdo ON gpdo.id_grupo_prod = pdos.fk_tb_grupo_prod INNER JOIN usuarios As usu ON pdos.fk_usuarios = usu.id "; $stm2 = $conexao2->prepare($sql2); $stm2->execute(); $kit3 = $stm2->fetchAll(PDO::FETCH_OBJ); ?> <?php require 'database/conexao.php'; // Recebe o termo de pesquisa se existir $termo = (isset($_GET['termo'])) ? $_GET['termo'] : ''; // Verifica se o termo de pesquisa está vazio, se estiver executa uma consulta completa if (empty($termo)): $conexao = conexao::getInstance(); $sql = 'SELECT DISTINCT item.fk_tb_produtos, usu.nome, prod.nome_produto, prods.desc_prod, prods.peso_liq_prod, prods.un_medida, item.fk_tb_kit, kit.nome_kit, kit.preco_kit, prods.qtd_prod, kit.id_nome_kit, kit.desc_kit FROM tb_itemprodkit item /* tb_itemprodkit*/ INNER JOIN usuarios usu /* usuarios*/ ON item.fk_usuarios = usu.id INNER JOIN tb_produtos prods /* tb_produtos */ ON item.fk_tb_produtos = prods.id_prod INNER JOIN tb_kit kit /*tb_kit */ ON item.fk_tb_kit = kit.id_nome_kit INNER JOIN tb_produto prod ON prods.nome_prod = prod.id_produto WHERE fk_usuario = 5 GROUP BY kit.id_nome_kit '; $stm = $conexao->prepare($sql); $stm->execute(); $kit = $stm->fetchAll(PDO::FETCH_OBJ); else: // Executa uma consulta baseada no termo de pesquisa passado como parâmetro $conexao = conexao::getInstance(); $sql = 'SELECT * FROM tb_kit WHERE nome_kit LIKE :nome_kit OR desc_kit LIKE :desc_kit'; $stm = $conexao->prepare($sql); $stm->bindValue(':nome_kit', $termo.'%'); $stm->bindValue(':desc_kit', $termo.'%'); $stm->execute(); $kit = $stm->fetchAll(PDO::FETCH_OBJ); endif; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Listagem KITs </title> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="css/custom.css"> </head> <body> <div class='container'> <fieldset> <!-- Cabeçalho da Listagem --> <legend><h1>Listagem de Kits</h1></legend> <!-- Formulário de Pesquisa --> <form action="" method="get" id='form-contato' class="form-horizontal col-md-10"> <label class="col-md-2 control-label" for="termo">Pesquisar</label> <div class='col-md-7'> <input type="text" class="form-control" id="termo" name="termo" placeholder="Infome o Nome ou E-mail"> </div> <button type="submit" class="btn btn-primary">Pesquisar</button> <a href='index.php' class="btn btn-primary">Ver Todos</a> </form> <!-- Link para página de cadastro --> <a href='kit_cadastro.php' class="btn btn-success pull-right">Cadastrar Kit</a> <div class='clearfix'></div> <?php if(!empty($kit)):?> <!-- Tabela de Clientes --> <table class="table table-striped"> <tr class='active'> <th>Foto</th> <th>produto</th> <th>Nome</th> <th>Descrição</th> <th>Preço</th> <th>Ação</th> </tr> <?php foreach($kit as $kit2):?> <tr> <td><img src='fotos/<?=$kit2->foto?>' height='40' width='40'></td> <?php foreach($kit3 as $kit4):?> <td> <?=$kit4->nome_produto.'<br>'; ?> </td><?php endforeach; ?> <td><?=$kit2->nome_kit?></td> </td> <td><?=$kit2->desc_kit?></td> <td><?='R$ '.$kit2->preco_kit.',00'?></td> <td> <a href='kit_editar.php?id_nome_kit=<?=$kit2->id_nome_kit?>' class="btn btn-primary">Editar</a> <a href='javascript:void(0)' class="btn btn-danger link_exclusao" rel="<?=$kit2->id_nome_kit?>">Excluir</a> </td> </tr> <?php endforeach;?> </table> <?php else: ?> <!-- Mensagem caso não exista clientes ou não encontrado --> <h3 class="text-center text-primary">Não existe Kit cadastrados!</h3> <?php endif; ?> </fieldset> </div> <script type="text/javascript" src="js/custom.js"></script> </body> </html> ....se alguem puder ajudar...
  2. Opa!! vou postar o código inteiro. <?php session_start(); echo "Usuario: ". $_SESSION['usuarioNome']; echo "<br>"; echo "Codigo: ". $idSessao = $_SESSION['usuarioId']; ?> <br> <a href="sair.php">Sair</a> <?php require_once('conexao_lisbox.php'); $sql = "SELECT * FROM tb_kit kit INNER JOIN usuarios usu ON kit.fk_usuario = usu.id WHERE fk_usuario = '".$_SESSION['usuarioId']."'"; $dados = mysqli_query($conn,$sql) or die(mysql_error()); $linha = mysqli_fetch_assoc($dados); $total = mysqli_num_rows($dados); // Verifica se a conexão não funcionou... if (!$conn) { die("A conexão com o banco de dados falhou: " . mysqli_connect_error()); } else { ?> <?php //#################CONEXAO COM O BANCO DE DADOS###################### try { $conexao = new PDO("mysql:host=localhost; dbname=db_sistema", "root", ""); $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $conexao->exec("set names utf8"); } catch (PDOException $erro) { echo "Erro na conexão:" . $erro->getMessage(); } // Verificar se foi enviando dados via POST if ($_SERVER['REQUEST_METHOD'] == 'POST') { $id_prod = (isset($_POST["id_prod"]) && $_POST["id_prod"] != null) ? $_POST["id_prod"] : ""; $nome_prod = (isset($_POST["sl_grupo"]) && $_POST["sl_grupo"] != null) ? $_POST["sl_grupo"] : ""; $check1 = (isset($_POST["check"]) && $_POST["check"] != null) ? $_POST["check"] : ""; //$check1 = $_POST["check"]; $chk = "" ; //sabendo = $_POST['check']; //$check = implode(",",$check2); } else if (!isset($id_prod)) { // Se não se não foi setado nenhum valor para variável $id $id_prod = (isset($_GET["id_prod"]) && $_GET["id_prod"] != null) ? $_GET["id_prod"] : ""; $nome_prod = NULL; $idSessao = NULL; $check = NULL; }//////////////////////FIM VERIFICAÇÃO POST/////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// //////////////////CODIGO PARA SALVAR REGISTRO///////////////////////////////////////////////////////////// if (isset($_REQUEST["act"]) && $_REQUEST["act"] == "save" && $nome_prod != "") { try { //O código abaixo faz o seguinte: atualiza o registro de modo que não inserire no novo registro. //esse if faz com os registros sejam atualizados, caso existem dados no formulario; if ($id_prod != "") {// SE diferente de VAZIO, ENTÃO faça: $stmt = $conexao->prepare("UPDATE tb_itemProdKit SET fk_tb_kit=?, fk_usuarios=?, fk_tb_produtos=? WHERE id_itemPrdoKit = ?"); $stmt->bindParam(4, $id_prod); //ao inserir a linha de código do UPDATE, essa linhas foi criada; } else { //SENÃO execute alinha de código abaixo: foreach($check1 as $check) { $stmt = $conexao->prepare("INSERT INTO tb_itemProdKit (fk_tb_kit, fk_usuarios, fk_tb_produtos) VALUES (?, ?, ?)"); $stmt->bindParam(1, $nome_prod); $stmt->bindParam(2, $idSessao); $stmt->bindParam(3, $check); $stmt->execute($check); } if ($stmt->execute()) { if ($stmt->rowCount() > 0) { echo "Dados cadastrados com sucesso!"; $id_prod = null; $nome_prod = null; $idSessao = null; $check = null; header("Location: item-produto-kit.php");exit; } else { echo "Erro ao tentar efetivar cadastro"; } } else { throw new PDOException("Erro: Não foi possível executar a declaração sql"); } } } catch (PDOException $erro) { echo "Erro: " . $erro->getMessage(); } }//////////////////FIM CÓDIGO PARA SALVAR REGISTRO//////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sem título</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><!-- Via MaxCDN --> </head> <body> <form action="?act=save" method="post" name="form1"> <input type="hidden" name="id_prod" <?php //Preenche o id no campo id com um valor "value" if (isset($id_prod) && $id_prod != null || $id_prod != "") { echo "value=\"{$id_prod}\""; } ?> /> <p> Grupo Alimentício: <select name="sl_grupo" id="sl_grupo"> <option value="" selected = selected>Escolha um Grupo Alimentício</option> <?php if($total > 0) { do { echo "<option value='".$linha['id_nome_kit']."'>".$linha['nome_kit']."</option>"; }while($linha = mysqli_fetch_assoc($dados)); } ?> </select> <p>Foto: <label for="sl_marca">:</label> </p> <p>&nbsp;</p> <p> <input type="submit" name="submit" id="submit" value="Enviar"> </p> <p><strong>Legenda: kg= Kilo; gm= Gramas; lt= Litros;</strong></p> <table border ="1" width="58%"> <tr class="celulas"> <th width="8%">( )</th> <th width="20%">Produto</th> <th width="47%">Descricao</th> <th width="8%">kg/gm/lt</th> <th width="8%">Qtdade</th> </tr> <?php ////////////////////BLOCO QUE REALIZA O PAPEL DO READ - RECUPERA OS DADOS E APRESENTA NA TELA try { //$idSessao FILTRO pela variável da sessão'".$_SESSION['usuarioId']."' $stmt = $conexao->prepare("SELECT DISTINCT prods.nome_prod, prod.nome_produto, prods.un_medida, prods.desc_prod, prods.peso_liq_prod, prods.qtd_prod, prod.id_produto, usuarios.nome, prods.id_prod FROM tb_produtos prods INNER JOIN usuarios ON prods.fk_usuarios = usuarios.id INNER JOIN tb_produto prod ON prod.id_produto = prods.nome_prod INNER JOIN tb_kit kit ON prods.fk_usuarios = kit.fk_usuario WHERE kit.fk_usuario = '".$_SESSION['usuarioId']."' "); if ($stmt->execute()) { while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) { echo "<tr>"; echo "<td><input type='checkbox' name='check[]' id='check' value='".$rs->id_prod."'</td><td class='lista_usuario'>".$rs->nome_produto."</td><td class='lista_usuario'>".$rs->desc_prod."</td><td class='lista_usuario'>".$rs->peso_liq_prod ."</td>" ; echo "</tr>"; } }else { echo "Erro: Não foi possível recuperar os dados do banco de dados"; } } catch (PDOException $erro) { echo "Erro: ".$erro->getMessage(); } echo "</form>" ?> </table> </body> </html> <?php mysqli_close($conn); } ?>
  3. Olá, senhores. Sei que existem diversos tópicos por aí sobre esse assunto, contudo, não consegui solucionar o problema, mesmo depois de 1 dia tentando fazer algo até simples. Seguinte, estou pegando o id de um produto e tentando jogar em outra tabela, pelo checkbox. ex: id produto 23 lapis 43 caneta pelo checkbox, a pessoa escolhe o produto e adicona em uma lista, que é outro banco. Se pessoa selecionar mais de 1 item da lista, o laço só envia para o banco apenas 1 item de qualquer forma. Vou postar o Código: Código do INSERT: $check1 = (isset($_POST["check"]) && $_POST["check"] != null) ? $_POST["check"] : ""; foreach($check1 as $check){ $stmt = $conexao->prepare("INSERT INTO tb_itemProdKit (fk_tb_kit, fk_usuarios, fk_tb_produtos) VALUES (?, ?, ?)"); $stmt->bindParam(1, $nome_prod); $stmt->bindParam(2, $idSessao); $stmt->bindParam(3, $check); if ($stmt->execute()) { if ($stmt->rowCount() > 0) { echo "Dados cadastrados com sucesso!"; $id_prod = null; $nome_prod = null; $idSessao = null; $check = null; header("Location: item-produto-kit.php");exit; } else { echo "Erro ao tentar efetivar cadastro"; } } else { throw new PDOException("Erro: Não foi possível executar a declaração sql"); } } } } catch (PDOException $erro) { echo "Erro: " . $erro->getMessage(); } Agora o código do checkbox: if ($stmt->execute()) { while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) { echo "<tr>"; echo "<td><input type='checkbox' name='check[]' id='check' value='".$rs->id_prod."'</td><td class='lista_usuario'>".$rs->nome_produto."</td><td class='lista_usuario'>".$rs->desc_prod."</td><td class='lista_usuario'>".$rs->peso_liq_prod ."</td>" ; echo "</tr>"; } }else { echo "Erro: Não foi possível recuperar os dados do banco de dados"; } } catch (PDOException $erro) { echo "Erro: ".$erro->getMessage(); } echo "</form>" ?> Está cadastrando apenas 1 item e não múltiplos itens. abço!!
  4. ...nesse meio tempo sim... mas... ...é sempre bom ouvir uma opinião de um colega..rs ...
  5. Prezados colegas, seguinte: criei uma lista que puxa informações do banco de dados. Usei o ListView pra isto. Depois seleciono qualquer item da lista e este item aparece em outra tela mais detalhadamente. Até aí tudo bem.... mas se eu quiser, por exemplo, escolher este item.....? daí volto lá na lista, clico no item da lista, vai remeter para a tela que contém do detalhe do item escolhido, nesta tela tem um botão ADICIONAR... e aí assim vai.... ou seja... vou escolhendo os itens do listview e criando uma lista a partir dessa lista... e quando eu escolher todos os itens que queroo...agora é hora de enviar para o banco.. só que tipo..traveii.. nao to conseguindo pensar na lógica.... em php sei fazer com a variável de sessão... só q em java, portanto, android, não estou sabendo fazer... podem me ajudar? o que sugerem? Não saco muito java.
  6. Carlos Antoliv

    UPDATE na mesma Página?

    .....opa! Blz.. agradeço polo retorno... vou tentar implementar... e volto pra postar... abç!
  7. Carlos Antoliv

    UPDATE na mesma Página?

    Tendii... foi mais ou menos o que eu tinha lido o pessoal fazer... eu só achei que tinha uma forma mais simples de fazer. ...queria uma forma de eliminar o listbox... to achando muitos passos para mudar um status... ....................tem alguma ideia...? ..ideias são sempre bem vindas...rsrs você sabe como é néh...ficar pensando, pensando, e pesquisando... tem horas que a mente não consegue ver o óbvio.
  8. Carlos Antoliv

    UPDATE na mesma Página?

    Opa!! Então, a ideia é a seguinte: preciso atualizar status. Vamos supor que tenham três staus: - aberto; - processando; - finalizar; como eu estou fazendo: uso tês arquivos: listaCoisas.php <- ao lado de casa item listado, tem um botão. NO caso "aberto". Quando clico neste botão, vou para: form.php <- neste tenho um listbox com três valores pra serem escolhidos: aberto, processando, finalizar. no caso, escolho "processando" Neste momento, recebForm.php <- recupera as informaçõs do listbox de form.php e automaticamente redireciona para listaCoisas.php Agora, o que estava em "aberto" está "processando". É uma volta ao mundo. É a forma que sei fazer. Mas não é a melhor forma. Eu queria eliminar a outra página form.php e fazer na mesma página... ou alguma outra forma que seja melhor.. entende?
  9. Carlos Antoliv

    UPDATE na mesma Página?

    Opa!! Então, a ideia é a seguinte: preciso atualizar status. Vamos supor que tenham três staus: - aberto; - processando; - finalizar; como eu estou fazendo: uso tês arquivos: listaCoisas.php <- ao lado de casa item listado, tem um botão. NO caso "aberto". Quando clico neste botão, vou para: form.php <- neste tenho um listbox com três valores pra serem escolhidos: aberto, processando, finalizar. no caso, escolho "processando" Neste momento, recebForm.php <- recupera as informaçõs do listbox de form.php e automaticamente redireciona para listaCoisas.php Agora, o que estava em "aberto" está "processando". É uma volta ao mundo. É a forma que sei fazer. Mas não é a melhor forma. Eu queria eliminar a outra página form.php e fazer na mesma página... ou alguma outra forma que seja melhor.. entende? Estou colocando a mesma resposta prq a ideia é a mesma>: Opa!! Então, a ideia é a seguinte: preciso atualizar status. Vamos supor que tenham três staus: - aberto; - processando; - finalizar; como eu estou fazendo: uso tês arquivos: listaCoisas.php <- ao lado de casa item listado, tem um botão. NO caso "aberto". Quando clico neste botão, vou para: form.php <- neste tenho um listbox com três valores pra serem escolhidos: aberto, processando, finalizar. no caso, escolho "processando" Neste momento, recebForm.php <- recupera as informaçõs do listbox de form.php e automaticamente redireciona para listaCoisas.php Agora, o que estava em "aberto" está "processando". É uma volta ao mundo. É a forma que sei fazer. Mas não é a melhor forma. Eu queria eliminar a outra página form.php e fazer na mesma página... ou alguma outra forma que seja melhor.. entende?
  10. Carlos Antoliv

    UPDATE na mesma Página?

    Bom, fiquei na dúvida onde postar. Se não for neste espaço, mudem para outra categoria, por favor. Seguinte, é uma dúvida meio boba, mas não achei na internet um mode simples de implentar o que quero, se é que existe, sem gambiarra. tenho uma listbox. Consigo enviá-la para o banco. Mas para isso tenho dois arquivos. Um contém a listbox e outro arquivo recebe este listbox.. eu só queria eliminar este outro arquivo que recebe os listbox. alguém tem algum exemplo ou algum material público que possa está dentro dessa minha lógica ? abço
  11. Carlos Antoliv

    [Resolvido] Como gravar o id de uma tabela em outra utilizando o PDO ?

    Opa! Agradeço por responder, Gabriel. Então, na verdade, consegui solucionar esse problema 1h após a postagem, mas mesmo assim queria saber como os colegas poderiam resolver isso. Bom, eu tenho dois "INSERTs". E no segundo pego o id do primeiro com o lastInsertId() Bom, eu não contava com alguns equívocos do manual PDO: nesta linha: $tmt->execute( array('user', 'user@example.com')); perceba que está faltando o "s" na variável $tmt e nesta linha: print $dbh->lastInsertId(); na verdade ele fica mais acima e não abaixo onde estava. Pelo menos com esta correções feitas, o código funcionou. Mas essa seria a melhor prática mesmo em PDO ? Acredito que seja. Como estou começando a estudar o PDO de maneira assídua agora, surgiu, então, essas dúvida.
  12. Galera, to estudando PDO aos poucos. Consegui entender bastante coisa até então. To tentando inserir o id do cliente na tabela endereço, ma quero fazer isto usando o PDO ao invés do MySQL propriamente dito. Na verdade, tem o mysqlo_insert_id. Vi o manual do PDO nesse questao, mas confesso que não entendi: <?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?)"); try { $dbh->beginTransaction(); $tmt->execute( array('user', 'user@example.com')); $dbh->commit(); print $dbh->lastInsertId(); } catch(PDOExecption $e) { $dbh->rollback(); print "Error!: " . $e->getMessage() . "</br>"; } } catch( PDOExecption $e ) { print "Error!: " . $e->getMessage() . "</br>"; } Neste exemplo, parece que está pegando o id do usuário no momento, mas nada fazendo com este. Alguém pode me auxiliar ? abço!!
  13. Carlos Antoliv

    O que é e por que usar Hibernate ?

    Vejo pessoas falando bem e mal. Daí fica complicado estabelecer uma ideia de algo que não conheço. Por isto, abri o tópico. Queria entender, na prática de alguns ou muitos, a preferência e o ponto de vista de cada qual.
  14. Carlos Antoliv

    O que é e por que usar Hibernate ?

    Bem legal o teu resumo. Grato! : )
×

Important Information

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