Ir para conteúdo
Fórum Script Brasil

Argos

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Argos postou

  1. Argos

    Dúvida com loop e sql

    Valeu lucke, mas ainda não é isso. Vou tentar explicar bem detalhadamente. Estou montando um sistema de administração para um site. Eu montei inicialmente a seguinte instrução sql para listar todos os produtos na página "produtos_consulta.php": $sql = "SELECT p.id, p.nome, p.imagem, p.miniatura, l.linha, c.colecao, s.subcolecao FROM produtos as p, linhas as l, colecao as c, subcolecao as s WHERE p.idLinha = l.id AND p.idColecao = c.id AND p.idSubcolecao = s.id AND p.id = $id"; Com ela, eu consigo imprimir na tela o nome do produto, sua respectiva imagem, o nome da linha a qual o produto pertence (l.linha), o nome da colecao a qual o produto pertence (c.colecao) e a subcolecao a qual ele pertence (s.subcolecao). Nessa página cada produto tem seus respectivos ícones de 'exclusão' e 'edição'. Ao clicarmos no botão de edição, vamos para a "produtos_alteracao.php". Aqui começa minha dúvida. Ao invés de apenas listar os itens como na página de consulta, aqui eu tenho q possibilitar a edição do nome do produto, da sua imagem, da linha, da coleção ou da subcoleção em que ele se encontra. A melhor forma do administrador modificar a linha, a coleção e a subcoleção seria por meio de três campos do tipo select (combobox), onde em suas respectivas "<options>s" estariam listadas todas as linhas disponíveis, todas as coleções disponíveis e todas as subcoleções disponíveis, vindas do banco de dados (linhas as l, colecao as c, subcolecao as s). O que eu gostaria de saber é se tem como eu montar os três campos select (combobox) usando APENAS a instrução sql acima. Como eu faço um loop diferente para cada combobox usando uma mesma instrução? Como não sei a melhor forma de se trabalhar aqui, montei o código do post #5, onde desisti da instrução acima e resolvi abrir as 4 tabelas (produtos, linhas, colecao, subcolecao) individualmente. Assim, consigo fazer os loops usando '$linhas = mysql_num_rows($sql)' ou 'while($sql = mysql_fetch_array)' de cada uma das instruções abertas. Eu estou aprendendo PHP na marra, comprei uns livros, lendo vários sites, e queria mesmo saber qual a forma mais "otimizada" pra se fazer essa consulta, pra deixar, além de certo, o "menos lerdo" possível.
  2. Argos

    Dúvida com loop e sql

    Última tentativa. Segue o código que terei q usar para o sistema funcionar, porque consigo montar a instrução sql (1° post) mas não consigo dar o próximo passo para montar o formulário include "../includes/conexao.inc"; $id = $_GET["id"]; if ((isset($_GET["id"])) and (!isset($_POST["salvar"]))){ $sql_p = mysql_query("SELECT * FROM produtos WHERE id=".$id); $reg = mysql_fetch_array($sql_p); $sql_l = mysql_query("SELECT * FROM linhas"); $sql_c = mysql_query("SELECT * FROM colecao"); $sql_s = mysql_query("SELECT * FROM subcolecao"); ?> <form id="incluir_produtos" method="post"> <div class="titulo_campos">Linha</div> <SELECT> <?php while($reg_l = mysql_fetch_array($sql_l)){ echo "<option ". ($selecionado = ($reg["idLinha"] == $reg_l["id"]) ? "selected=selected" : NULL )." >".$reg_l["linha"]."</option>"; } ?> </SELECT> <br /> <br /> <div class="titulo_campos">Coleção</div> <SELECT> <?php while($reg_c = mysql_fetch_array($sql_c)){ echo "<option ". ($selecionado = ($reg["idColecao"] == $reg_c["id"]) ? "selected=selected" : NULL )." >".$reg_c["colecao"]."</option>"; } ?> </SELECT> <br /> <br /> <div class="titulo_campos">Sub-Coleção</div> <SELECT> <?php while($reg_s = mysql_fetch_array($sql_s)){ echo "<option ". ($selecionado = ($reg["idSubcolecao"] == $reg_s["id"]) ? "selected=selected" : NULL )." >".$reg_s["subcolecao"]."</option>"; } ?> </SELECT> <br /> <br /> <div class="titulo_campos">Nome</div> <input size="50" type="text" name="nome_produto" maxlength="255" value="<?php echo $reg["nome"] ?>" class="campos_formulario" /> (...) Opa lucke, acho q postou enquanto eu escrevia. Na vdd minha dificuldade não é com a conexão, nem com os loops. Eu gostaria de saber, pra simplificar, é se tem como eu usar a sql do 1° post pra montar o formulário do post acima. Eu gostaria de usar uma instrução, abrir apenas uma consulta, e listar todas linhas da tabela linhas, todas as coleções da tabela colecao e todas as subcoleções da tabela subcolecao. É possível?
  3. Argos

    Dúvida com loop e sql

    Oi ESerra; A conexão está ok, e a $id também, vem da URL ($id = $_GET['id']). Essa sql está em uma página de edição de produtos. O que eu gostaria de saber é como criar um loop, por exemplo, dentro de um select (combobox), mostrando todas as linhas da tabela 'linhas', sem ter qua abrir outra consulta sql, ou não tem como, e tenho que abrir outra consulta pra comparar com essa e poder mostrar a linha cadastrada selecionada? Ex. $sql = mysql_query("SELECT p.id, p.nome, p.imagem, p.miniatura, l.linha, c.colecao, s.subcolecao FROM produtos as p, linhas as l, colecao as c, subcolecao as s WHERE p.idLinha = l.id AND p.idColecao = c.id AND p.idSubcolecao = s.id AND p.id = $id"); $reg = mysql_fetch_array($sql); $linha_desse_produto = $reg["idLinha"]; $sql2 = "SELECT * FROM linhas"; $resultado2 = mysql_query($sql2); echo "<SELECT>"; while($reg2 = mysqli_fetch_array($resultado2)){ echo "<option ".$selecionado = ($linha_desse_produto == $reg2["id"]) ? "selected" : "" .">".$reg2["linha"]."</option>"; } echo "</SELECT>";
  4. Argos

    Dúvida com loop e sql

    Boa noite; Como faço pra criar um loop e mostrar todas as linhas da tabela 'linhas', ou todas as coleções da tabela 'colecao', usando a seguinte instrução: $sql = "SELECT p.id, p.nome, p.imagem, p.miniatura, l.linha, c.colecao, s.subcolecao FROM produtos as p, linhas as l, colecao as c, subcolecao as s WHERE p.idLinha = l.id AND p.idColecao = c.id AND p.idSubcolecao = s.id AND p.id = $id"; ?
×
×
  • Criar Novo...