Ir para conteúdo

POWERED BY:

Arquivado

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

donkeykong__

Selecionar coluna em tabela SQL apartir de valor de uma variável

Recommended Posts

Eu de novo novamente precisando de uma força de vocês.

Desta vez é algo meio complicado meeeesmo, pelo menos pra está sendo até agora...

Seguinte preciso fazer uma consulta sql e selecionar uma coluna da minha tabela, o nome dessa coluna está salvo em uma variavel e seu valor é até então 'desconhecido'.

Pra ficar menos confuso , seria mais ou menos assim:

 

$variavel = $_post['nome_do_select']; //Vai armazenar o valor do select
$consulta_sql = mysql+query("SELECT '".$variavel."' from tabela"); // vai selecionar a coluna cujo o nome está armazenado na variável $varivel
while($var = mysql_fetch_array($consulta_sql)){
   $valor = $var[''];-> aqui eu não sei o que colocar, não dá pra saber porque não sei o nome da coluna que a variável guardou com ela
}

 

é uma lógica sem sentido e eu não faço idéia do estou fazendo ou tenho chance de evoluir??????

 

Me ajudem ai por favor!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
$variavel = $_post['nome_do_select'];
//...
$valor = $var[$variavel]

Compartilhar este post


Link para o post
Compartilhar em outros sites

se é so uma coluna, tente

$var[0]

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql+query ????

mysql_query é o correto...

 

Se são vários valores, faça assim:
$valores = array();
while($var = mysql_fetch_array($consulta_sql)){
   $valor[] = $var[$variavel];
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

então Henrique fiz conforme você flw so q nao retornou nenhum resultado.

Minha query ta assim:

//Checa qual o valor da variável sel_tamanho
if($tamanho == "brotinho"){
	$coluna = "brotinho";	
}
if($tamanho == "pequena"){
	$coluna = "pequena";
}
if($tamanho == "media"){
	$coluna = "media";
}
if($tamanho == "grande"){
	$coluna = "grande";
}
if($tamanho == "maracana"){
	$coluna = "maracana";
}

$variavel3 = mysql_query("SELECT '".$coluna."',id_produto2 FROM precos LEFT JOIN pizzas_tradicionais ON precos.id_produto2 = pizzas_tradicionais.id_produto WHERE id_produto = '$pizza1'") or die(mysql_error());
$var_linha3 = mysql_num_rows($variavel3);

if($var_linha3 > 0) {
	$coluna = array();
	while($var3 = mysql_fetch_array($variavel3)){
		$valor[] = $var[$coluna];
		echo $valor[1];


	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tire as aspas da query:

$variavel3 = mysql_query("SELECT ".$coluna.",id_produto2 FROM precos LEFT JOIN pizzas_tradicionais ON precos.id_produto2 = pizzas_tradicionais.id_produto WHERE id_produto = '$pizza1'") or die(mysql_error());

 

Mude aqui:

while($result = mysql_fetch_array($variavel3)){
   echo $result[$coluna];
}

 

Se essa query sempre retorna uma linha só, o bloco while é desnecessário.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa Henrique agradeço a atenção brother, olha só alterei essas linhas mas continua sem resultados...Ficou assim

$variavel3 = mysql_query("SELECT ".$coluna.",id_produto2,nome FROM precos LEFT JOIN pizzas_tradicionais ON precos.id_produto2 = pizzas_tradicionais.id_produto WHERE id_produto = ".$pizza."") or die(mysql_error());
$coluna = array();
$result = mysql_fetch_array($variavel3);
   	echo $result[$coluna];
	echo $result['id_produto2'];
	echo $result['nome'];
}	

 

Como você mencionou o while vou explicar como funciona xD

O programa da 4 opções de tamanho no select, ai fica fácil né rsrs se você escolher o valor um, tem uma opção de sabor, se escolher 2 tem 2 opções e assim até o 4. Essa query acima vai me dar o tamanho e assim posso selecionar o preço, por isso não posso definir um valor especifico pra coluna, é aleatório de acordo com o valor vindo do checkbox...

Aliás já me veio a kbca outro problema. Por exemplo, se eu escolher outra opção diferente de um, vou precisar reciclar esse while pra que ele assuma o valor do proóximo select e assim poder mostrar o preço de acordo com o novo id selecionado. Entendeu?!rs

 

Ainda estou desenvolvendo tá meio que nos 40% porque ainda tem a parte das sessions e outros ajustes a mais, mas essa parte é fundamental pra poder fechar o valor final do pedido.

Agradeço se puder compartilhar seu conhecimento comigo. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

//Checa qual o valor da variável sel_tamanho
if($tamanho == "brotinho"){
	$coluna = "brotinho";	
}
if($tamanho == "pequena"){
	$coluna = "pequena";
}
if($tamanho == "media"){
	$coluna = "media";
}
if($tamanho == "grande"){
	$coluna = "grande";
}
if($tamanho == "maracana"){
	$coluna = "maracana";
}

Pelo que vi $coluna vai ser sempre igual a $tamanho. Qual a necessidade desses condicionais?

E se houver mesmo necessidade, você pode usar switch().

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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