Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!!
>
$variavel = $_post['nome_do_select'];
//...
$valor = $var[$variavel]
Já tentei assim, ela retorna o nome da coluna.
se é so uma coluna, tente
$var[0]
>
se é so uma coluna, tente
$var[0]
Na verdade é mais de uma coluna. Não to conseguindo uma lógica sensata pra fazer essa consulta =(
vou continuar tentando!!!
Pessoal, podem me dizer pelo menos se é possível desenvolver esse tipo de lógica? já estou tentendo ha horas mas não consigo nem achei nada relacionado nas pesquisas.
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];
}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];
}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.
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. ;)
//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().
realmente preciso dessas condições e o switch caiu bem, obrigado pelo toque.
Se tiverem alguma dica ou sugestão a respeito do select fico grato.
$variavel = $_post['nome_do_select'];
//...
$valor = $var[$variavel]