Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Everton Vilela

Montando um Select List/Menu + PHP + MySQL

Recommended Posts

:rolleyes:

 

Quem já foi iniciante, já passou apuros tentando aprender ou procurar em forum um select

e ver varios modelos confusos grandes, complexos que deixava você sem entender nada.

 

tá ai um exemplo bem simples de criar um select fazendo busca na tabela do seu banco de dados.

 

é claro que existem vários modelos, se quiserem ir postando varios outros abaixo, logo montaremos uma grande

biblioteca de selects aqui.

 

 

conexao.php

//conexão com banco de dados MySQL$dbhost="localhost"; //nome do servidor que hospeda o banco de dados$dbuser="usuario";   // usuario do banco de dados$dbpasswd="senha";   // senha usada para entrar no banco de dados$dbname="nomedobancodedados";  // nome que você deu ao seu banco de dados$conexao = @mysql_pconnect($dbhost, $dbuser, $dbpasswd) or die ("Não foi possível conectar-se ao servidor MySQL");$db = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");

agora vamos criar a pagina.php

 

pagina.php

<select name="tabela" id="tabela"><?php include ("conexao.php");//Consulta com a tabela//Selecione tudo de nomedatabela em ordem crescente pelo nome $consulta=mysql_query("SELECT *FROM nomedatabela order by nome ASC"); //Fazendo o looping para exibição de todos registros que contiverem em nomedatabelawhile ($dados = mysql_fetch_array($consulta)) {echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");}?></select>

 

É isso ai testem ai e alterem do jeito que quiserem.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz tudo que voce falou, mas hora que eu executo, fica a caixa de seleção sem nehum nome detro...

<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Documento sem título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><body><div align="center">  <select name="tabela" id="tabela" style="width: 400;">	<?phpinclude("Conexao.php");//Criamos o comando que efetua a busca do banco		$oResult = mssql_query( "SELECT *from Motoristas order by nome ASC", $iID);//Fazendo o looping para exibição de todos registros que contiverem em nome da tabelawhile ($oRow = mssql_fetch_array($oResult)) {echo("<option value='".$oRow['campo1']."'>".$oRow['campo1']."</option>");}?>  </select></div></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho meu select assim:

 

<? $mm = $dados['marca']; ?>
			<select name="marca">
			  <option value=""></option>
			  <?
		  $consulta_marca = "SELECT * FROM marca";
		  $m = 0;
		  $rs_m = mysql_query($consulta_marca);
		  while(mysql_fetch_row($rs_m))
		  {
			  $marca = mysql_result($rs_m, $m, 'marca');
		  ?>
		  <option value="<?=$marca;?>" <? if($marca==$mm)echo "Selected";?>><?=$marca;?></option>
			  <?
		  $m++;
		  }
		  ?>
			</select>

isso para editar o registro, mas ele não faz a captura do valor, continua sendo sempre o mesmo. como posso fazer pra que ele volte a gravar o valor já que no arquivo de inclusão a única diferença é que não tem o <? if($marca==$mm)echo "Selected";?> ?

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:rolleyes:

 

Tomei a liberdade de adaptar seu código para o postgres! funcionou beleza aqui!

 

conexao.php

//conexão com banco de dados Postgres

$con = pg_connect("dbname=nomebanco port=5432 host=localhost user=postgres password=senha");

agora vamos criar a pagina.php

 

pagina.php

<select name="tabela" id="tabela">

<?php

 include ("conexao.php");

//Consulta com a tabela
//Selecione tudo de nomedatabela em ordem crescente pelo nome 
$consulta=pg_query("SELECT *FROM nomedatabela order by nome ASC"); 


//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
while ($dados = pg_fetch_array($consulta)) {
echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");
}

?>
</select>

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostei muito da tua explicação, mas como tenho muito pouco conhecimento srá que podia me ajudar?

 

olha como está meu codigo,

 

<?php

 

include ("conexao.php");

 

//Consulta com a tabela

//Selecione tudo de nomedatabela em ordem crescente pelo nome

$consulta=pg_query("SELECT *FROM arSantododia order by nome ASC");

 

 

//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela

while ($dados = pg_fetch_array($consulta)) {

echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");

}

 

?>

</select>

Dentro dessa tabela tenho os seguintes campos:

 

arCod

arName

arTexto

arDia

arMes

 

Quero que esse select me traga somente o que está no mês, exemplo: 30/julho quero que me mostre tudo o que tem nessa data! e somente nessa data.

 

Poderia me ajudar?

 

Otimo post!

 

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso me atrever? segundo oq entendi o que você precisa está logo abaixo, nos comentários coloquei a explicacao.. é bem simples se eu entendi oq você keria.

 

flw

 

<?php

	include ("conexao.php");

	// VEJA AKI QUE SAO VARIAVEIS SIMPLES Q PODEM PARTIR DE UM INPUT OU OQ FOR,MAS PARA O EXEMPLO DEIXO SETADAS AS DATAS QUE VOCE DESEJA
	$data_dia = "30";
	$data_mes = "julho";
	
	
	//Consulta com a tabela
	//AQUI VOCE INSERE O WHERE DIZENDO EM Q COLUNAS BUSCAR E DIZ OS VALORES PELOS QUAIS BUSCAR EM CADA COLUNA
	$consulta=pg_query('SELECT *FROM arSantododia WHERE arDia='.$data_dia.' and arMes='.$data_mes.' order by nome ASC');



	//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
	while ($dados = pg_fetch_array($consulta)) {
	echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");
	}

	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso me atrever? segundo oq entendi o que você precisa está logo abaixo, nos comentários coloquei a explicacao.. é bem simples se eu entendi oq você keria.

 

flw

 

<?php

	include ("conexao.php");

	// VEJA AKI QUE SAO VARIAVEIS SIMPLES Q PODEM PARTIR DE UM INPUT OU OQ FOR,MAS PARA O EXEMPLO DEIXO SETADAS AS DATAS QUE VOCE DESEJA
	$data_dia = "30";
	$data_mes = "julho";
	
	
	//Consulta com a tabela
	//AQUI VOCE INSERE O WHERE DIZENDO EM Q COLUNAS BUSCAR E DIZ OS VALORES PELOS QUAIS BUSCAR EM CADA COLUNA
	$consulta=pg_query('SELECT *FROM arSantododia WHERE arDia='.$data_dia.' and arMes='.$data_mes.' order by nome ASC');



	//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
	while ($dados = pg_fetch_array($consulta)) {
	echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");
	}

	?>

 

Fr4nc0w

 

Muito obrigado pela resposta, vlw mesmo.

 

Bom, fiz oque me sugeriu e não me traz resultado nem 1.

troquei a conexão com o banco.

 

<?

// conexão com o banco
	$server = "localhost";
	  $user = "root";
	  $senha = "minha senha";
	$banco = "portal";

$conexao = mysql_connect("$server", "$user", "$senha"); $db = mysql_select_db("$banco");
// termina conexão com o banco

// VEJA AKI QUE SAO VARIAVEIS SIMPLES Q PODEM PARTIR DE UM INPUT OU OQ FOR,MAS PARA O EXEMPLO DEIXO SETADAS AS DATAS QUE VOCE DESEJA
	$data_dia = "0";
	$data_mes = "julho";

//Consulta com a tabela
//AQUI VOCE INSERE O WHERE DIZENDO EM Q COLUNAS BUSCAR E DIZ OS VALORES PELOS QUAIS BUSCAR EM CADA COLUNA
	$consulta=pg_query('SELECT *FROM arSantododia WHERE arDia='.$data_dia.' and arMes='.$data_mes.' order by nome ASC');

//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
	while ($dados = pg_fetch_array($consulta)) {
	echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");
	}
	?>

EStá me trazendo a pagina em branco, o que acha q pode ser?

 

Mais uma vez o brigado!

 

Rodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho outro codigo que funcionava em outra pagina, e que fazia exatamente o que estou tentando fazer agora, mas também não funciona.

 

 

<?

include ("conexao.php");

  if($Dia == ''){
	 $Dia= date('d');
  }
  if($Mes == ''){
	 $Mes= date('m');
  }
  $query= "SELECT * FROM arSantododia WHERE arDia='$Dia' AND arMes='$Mes'";
  if(!($result= mysql_query($query,$sock))){
	   $erro= "NÃO FOI POSSÍVEL PROCURAR O SANTO DO DIA. CONTATE O SUPORTE";
  }else{
		$dado= mysql_fetch_array($result);
  }
?>
<table border=0 width=100% cellpadding=0 cellspacing=3 style="<?php echo $config['stylePadrao']?>">
 <tr>
  <td>
   <img src="images/titulo_santo.gif">
  </td>
 </tr>
 <?
   if(isset($erro)){
	  echo "<tr>\n";
	  echo "<td>\n";
	  echo $erro;
	  echo "</td>\n";
	  echo "</tr>\n";
   }else{
		 echo "<tr>\n";
		 echo "<td>\n";
		 echo "<b style=\"font-size:12px;\">";
		 echo "$Dia de ".mes_correspondente(date('n',mktime(0,0,0,$Mes,$Dia,date('Y'))),0,0);
		 echo "</b>\n";
		 echo "</td>\n";
		 echo "</tr>\n";
		 echo "<tr>\n";
		 echo "<td align=center>\n";
		 echo "<br>\n";
		 echo "<b style=\"font-size:15px;\">".$dado['arNome']."</b>";
		 echo "</td>\n";
		 echo "</tr>\n";
		 echo "<tr>\n";
		 echo "<td>\n";
		 echo "<br><p align=justify>\n";
		 echo $dado['arTexto'];
		 echo "</p>\n";
		 echo "</td>\n";
		 echo "</tr>\n";
   }
 ?>
 </tr>
 <tr>
  <td align=right>
   <hr color=006633>
   <form name="outra_data" action="index.php?target=modules/santododia/santododia.php" method=post>
	Escolha outra data:
	<select name="Dia" style="<?php echo $config['styleCxTextoT1']?>">
	 <?
	   $query= "SELECT * FROM arDia";
	   makeSelect($query,'arDia','arDia','arDia',date('d'),0,'');
	 ?>
	</select> de
	<select name="Mes" style="<?php echo $config['styleCxTextoT1']?>">
	 <?
	   $query= "SELECT * FROM arMes";
	   makeSelect($query,'arValor','arMes','arValor',date('m'),0,'');
	 ?>
	</select>
	<input type="image" src="images/ok.gif" alt="Ir para a data escolhida">
   </form>
  </td>
 </tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

:rolleyes:

 

Quem já foi iniciante, já passou apuros tentando aprender ou procurar em forum um select

e ver varios modelos confusos grandes, complexos que deixava você sem entender nada.

 

tá ai um exemplo bem simples de criar um select fazendo busca na tabela do seu banco de dados.

 

é claro que existem vários modelos, se quiserem ir postando varios outros abaixo, logo montaremos uma grande

biblioteca de selects aqui.

 

 

conexao.php

//conexão com banco de dados MySQL

$dbhost="localhost"; //nome do servidor que hospeda o banco de dados
$dbuser="usuario";   // usuario do banco de dados
$dbpasswd="senha";   // senha usada para entrar no banco de dados
$dbname="nomedobancodedados";  // nome que você deu ao seu banco de dados
$conexao = @mysql_pconnect($dbhost, $dbuser, $dbpasswd) or die ("Não foi possível conectar-se ao servidor MySQL");
$db = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");

agora vamos criar a pagina.php

 

pagina.php

<select name="tabela" id="tabela">

<?php

 include ("conexao.php");

//Consulta com a tabela
//Selecione tudo de nomedatabela em ordem crescente pelo nome 
$consulta=mysql_query("SELECT *FROM nomedatabela order by nome ASC"); 


//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
while ($dados = mysql_fetch_array($consulta)) {
echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");
}

?>
</select>

 

É isso ai testem ai e alterem do jeito que quiserem.

[]'s

 

 

oi sou iniciate e era exatamente isso oq eu procurava ... +ainda tenho algumas duvidas ... n consigo entender pq n tem um "form" como uma pagina de busca normal .... por favor me ajudem ... qero deixar o sistema +- parecido com desse site ____ www.mgarzon.com.br URGENTE !!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sou novo no forum e esto com uma duvida em php se puder me ajudar agradeço

 

Eu tenho um pagina de cadastro que contem nome tipodeusuario e bandadeinternet

 

o problema está no formulario bandadeinternet pois coloquei ele como um formulario do tipo select que contem as opçoes bandamedia bandaalta e bandabaixa, até ai tudo bem consigo selecionar a oção e enviar para o bando de dados.

 

o problema está na hora de alterar o usuario, quando eu clico no botão alterarusuario, não esta trazendo o valor do campo do usuario se ele é bandameda ou alta ou baixa.

quando eu clicar em alterar ele tem que mostrar o valor do vampo banda:

 

codigo:

 

parte docadastro funcina beleza eu seleciono a minha opção e envio para o bando de dados

<tr><td>Banda:</td>

<td><select name="banda" id="banda"



<option value="bandaalta">Banda Alta</option>

<option value="bandamedia">Banda Média</option>

<option value="bandabaixa">Banda Baixa</option>



</select> </td>

</tr>

 

o problema esta na hora da consulta ele não memostra se o usuario é banda alta ou méda ou baixa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Norefenk, fiz um SELECT utilizando a mesma lógica que você, mas no meu caso tenho um MENU também dinâmico, onde toda vez que cadastro um item nesse menu ele aparecerá nesse select, que posteriormente passará a ser atribuído como categorias e sub-item da categoria estilo menu de loja, porém terá paginação também recebendo os dados do banco, na medida que forem sendo cadastrados produtos por item nesse banco a paginação limitada em 18 linhas continuará o próximo ciclo de paginação dinamicamente, recebendo as seguintes condições:

 

:seta: Missões:

 

Dúvida 1 -> Paginar por link de itens cadastrados

Paginar por menu paginação (rodapé)

Paginar por categoria (Ainda não criado)

 

Essas são as próximas missões daqui pra frente!

 

:seta: Minha dúvida agora, se refere: Como atribuir link nos OPTIONS vindos do banco mostrados no SELECT?

 

:rolleyes:

 

Quem já foi iniciante, já passou apuros tentando aprender ou procurar em forum um select

e ver varios modelos confusos grandes, complexos que deixava você sem entender nada.

 

tá ai um exemplo bem simples de criar um select fazendo busca na tabela do seu banco de dados.

 

é claro que existem vários modelos, se quiserem ir postando varios outros abaixo, logo montaremos uma grande

biblioteca de selects aqui.

 

 

conexao.php

//conexão com banco de dados MySQL$dbhost="localhost"; //nome do servidor que hospeda o banco de dados$dbuser="usuario";   // usuario do banco de dados$dbpasswd="senha";   // senha usada para entrar no banco de dados$dbname="nomedobancodedados";  // nome que você deu ao seu banco de dados$conexao = @mysql_pconnect($dbhost, $dbuser, $dbpasswd) or die ("Não foi possível conectar-se ao servidor MySQL");$db = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");

agora vamos criar a pagina.php

 

pagina.php

<select name="tabela" id="tabela"><?php include ("conexao.php");//Consulta com a tabela//Selecione tudo de nomedatabela em ordem crescente pelo nome $consulta=mysql_query("SELECT *FROM nomedatabela order by nome ASC"); //Fazendo o looping para exibição de todos registros que contiverem em nomedatabelawhile ($dados = mysql_fetch_array($consulta)) {echo("<option value='".$dados['campo1']."'>".$dados['campo1']."</option>");}?></select>

É isso ai testem ai e alterem do jeito que quiserem.

[]'s

 

Olá Norefenk, fiz um SELECT utilizando a mesma lógica que você, mas no meu caso tenho um MENU também dinâmico, onde toda vez que cadastro um item nesse menu ele aparecerá nesse select, que posteriormente passará a ser atribuído como categorias e sub-item da categoria estilo menu de loja, porém terá paginação também recebendo os dados do banco, na medida que forem sendo cadastrados produtos por item nesse banco a paginação limitada em 18 linhas continuará o próximo ciclo de paginação dinamicamente, recebendo as seguintes condições:

 

:seta: Missões:

 

Dúvida 1 -> Paginar por link de itens cadastrados

Paginar por menu paginação (rodapé)

Paginar por categoria (Ainda não criado)

 

Essas são as próximas missões daqui pra frente!

 

:seta: Minha dúvida agora, se refere: Como atribuir link nos OPTIONS vindos do banco mostrados no SELECT?

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Norefenk, muito obrigado pela ajuda. Estou engatinhando na área de programação e cada dia que passa estou gostando mais ainda. Obrigado a todos que comentaram no post, pois foi muito útil.

Meu skype: leandrocarvalhonogueira

Abraço..Ate++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém pode me ajudar neste tópico: 

 

 

Estou criando um site com sistema de login, onde necessito que de acordo com usurário logado seja carregado determinado dados.

 

Ex: na pagina de cadastro o usuário vai incluir os produtos e selecionar o comprador para aqueles produto quando ele cadastrar vai dar um insert em uma tabela, então o comprador vai logar na aplicação e vai verificar os produtos porem eu preciso que este pagina traga apenas os produtos onde o comprador seja o mesmo que esteja logado.

Banco no mysql, pagina com php

 

Abaixo segue a pagina que vai listar os produtos para o comprador, porem preciso colocar na consulta para apenas trazer os produto onde o id_comprador seja o mesmo que a do comprador que esta logado.

<?php
    session_start();
    include_once("seguranca.php");
    include_once("conexao.php");
?>
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Página Comprador">
    <meta name="author" content="Andressa">
    <link rel="icon" href="imagens/and.ico">

    <title>Comprador</title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/bootstrap-theme.min.css" rel="stylesheet">
    <link href="css/theme.css" rel="stylesheet">
    <script src="js/ie-emulation-modes-warning.js"></script>
  </head>

  <body role="document">
    <?php
        include_once("menu_admin.php");
        $resultado=mysql_query("SELECT a.codigo, a.descricao_prod, a.vencimento, b.nome_loja FROM `rebaixa` a, loja b
where a.loja_id=b.id ORDER BY 'a.id'");
        $linhas=mysql_num_rows($resultado);
        
   
    ?>    
    

    <div class="container theme-showcase" role="main">      
      <div class="page-header">
        <h1>Lista de Produtos</h1>
      </div>
      <div class="row">
        <div class="col-md-12">
          <table class="table">
            <thead>
              <tr>
                <th>Código</th>
                <th>Descrição</th>
                <th>Vencimetno</th>
                <th>Loja</th>
                
                <th></th>
                <th></th>
              </tr>
            </thead>
            <tbody>
                <?php 
                    while($linhas = mysql_fetch_array($resultado)){
                        echo "<tr>";
                            echo "<td>".$linhas['codigo']."</td>";
                            echo "<td>".$linhas['descricao_prod']."</td>";
                            echo "<td>".$linhas['vencimento']."</td>";
                            echo "<td>".$linhas['nome_loja']."</td>";
                            ?>
                            <td> 
                            <a href='administrativo.php?link=5&codigo=<?php echo $linhas['codigo']; ?>'><button type='button' class='btn btn-sm btn-primary'>Visualizar</button></a>
                            
                          
                            
                            <?php
                         echo "</tr>";
                    }
                ?>
            </tbody>
          </table>
        </div>
        </div>
    </div> <!-- /container -->


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="js/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/docs.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.