Beto Lima 0 Denunciar post Postado Junho 18, 2008 Como colocar dois values numa combo? ex: de R$10 a R$20 eu imagino que o value fique assim: 1020 não sei se ta certo.... E depois como colocar em duas variáveis: $recebe1 = post do value valendo 10 $recebe2 = post do value valendo 20 Como fazer isso? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
msantino 0 Denunciar post Postado Junho 18, 2008 tenta assim... no value coloca um divisor tipo |, ficando assim o value 10|20, depois é só dar um explode pelo caracter '|' que ele separa os values em um array, ai é só pegar pelo índice... entendeu mais ou menos a idéia?! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif senão qq coisa posta de novo... flw Como colocar dois values numa combo? ex: de R$10 a R$20 eu imagino que o value fique assim: 1020 não sei se ta certo.... E depois como colocar em duas variáveis: $recebe1 = post do value valendo 10 $recebe2 = post do value valendo 20 Como fazer isso? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 a idéia entendi, só não sei colocar em prática... tem algum exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Senni 1 Denunciar post Postado Junho 18, 2008 10 reais e 10 reais e 15 centavos?? melhor por xxxx|zzzz ?nao?? e se tiver 1000?? pode acontecer de precisa depois.. Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 <select name=\"combo\" id=\"combo\"> <option value=''>Qualquer valor</option> <option value='10000|20000'>de: R$10.000,00 até R$20.000,00</option> </select> isso? e pra recuperar eles depois? Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Junho 18, 2008 Seu exemplo tá certo... Pra recuperar depois é assim: $var = explode("|", $_POST['combo']); echo "1º Valor: ".$var[0]; echo "2º Valor: ".$var[1]; » Função Explode Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 tudo bem mas não quero dar acho na variavel... e sim guardar cada valor em duas variáveis diferentes.... porque depois vou dar o post e fazer um selec dessas duas variaveis.. SELECT * FROM tabela WHERE valor_venda >= $minimo AND valor_venda <= $maximo AND categorias=%s ORDER BY $ordenar $asc_desc Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 será que funciona assim: SELECT * FROM tabela WHERE valor_venda >= $var[0] AND valor_venda <= $var[1] AND categorias=%s ORDER BY $ordenar $asc_desc Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Junho 18, 2008 Funciona sim... Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 não deu certo... You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND valor_venda <= AND categorias='4' ORDER BY nome asc' at line 1 será que é pq: [0] e [1] no select? Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Junho 18, 2008 $sql = "SELECT * FROM tabela WHERE valor_venda >= '".$var[0]."' AND valor_venda <= '".$var[1]."' AND categorias=%s ORDER BY {$ordenar} {$asc_desc}"; Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 Vamos lá,... // CONEXÃO AO BANCO DE DADOS require_once("conexao.php"); mysql_select_db($database_conn, $conn); $_nome_categoria = $_REQUEST["cat_venda"]; $ordenar = $_POST["ordenar"]; $asc_desc = $_POST["asc_desc"]; $minimo = explode("|", $_POST['valores']); if ($minimo == "") { $minimo= "0|1000000"; }else { $minimo = $minimo; } if (($ordenar == "") || ($asc_desc == "")){ $ordenar= "nome"; $asc_desc= "asc"; } else { $ordenar = $ordenar; $asc_desc = $asc_desc; } if ($ordenar == "valor_venda") { $var = "Preço"; } if ($ordenar == "time") { $var = "Data"; } if ($ordenar == "id") { $var = "Referência"; } if ($ordenar == "nome") { $var = "Nome"; } if ($asc_desc == "asc") { $var1 = "Crescente"; } if ($asc_desc == "desc") { $var1 = "Decrescente"; } $sql = sprintf("SELECT * FROM produtos WHERE valor_venda >= '".$minimo[0]."' AND valor_venda <= '".$minimo[1]."' AND categorias=%s ORDER BY {$ordenar} {$asc_desc}","'".$_nome_categoria."'"); $qry = mysql_query($sql, $conn) or die(mysql_error()); $lista = mysql_fetch_array($qry); <form action=\"".$_SERVER['PHP_SELF']."?cat_venda=$_nome_categoria\" method=\"post\" name=\"ordenacao\"> <select name=\"ordenar\" class=\"combo\" id=\"ordenar\"> <option value='$ordenar' selected>Ordenação por:</option> <option value='nome'>Ordenação: Nome</option> <option value='valor_venda'>Ordenação: Valor</option> <option value='nome'>Ordenação: Data</option> <option value='nome'>Ordenação: Referência</option> </select> <select name=\"asc_desc\" class=\"combo\" id=\"asc_desc\"> <option value='asc'>Ordem: A - Z</option> <option value='desc'>Ordem: Z - A</option> </select> <select name=\"valores\" class=\"combo\" id=\"valores\"> <option value=''>Qualquer valor</option> <option value='100000|200000'>De: R$100.000,00 até R$200.000,00</option> </select> <input name=\"Submit\" type=\"submit\" class=\"btn_ordena\" value=\"ok\" id=\"ok\"> </form> na primeira descarregada ele não mostra produto...só depois que eu seleciono na combo os valores e depois do submit aí que ele mostra o resultado.... Acho que não estou conseguindo definir um valor padrão pra primeira descarregada..... até tentei fazer um if mais acima... se não estiver nada, receber= 0|10000000 mas tem algo errado ainda..... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 18, 2008 Bom, deixa eu me meter na conversa, pelo que entendi você quer um combo com os dois valores, e porque tu não coloca no combo os dois valores ? <select name="valores"> <option value="10">$10</option> <option value="20">$20</option> </select>e depois faz o select ? Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Junho 18, 2008 Troca: $sql = sprintf("SELECT * FROM produtos WHERE valor_venda >= '".$minimo[0]."' AND valor_venda <= '".$minimo[1]."' AND categorias=%s ORDER BY {$ordenar} {$asc_desc}","'".$_nome_categoria."'"); Por: $sql = "SELECT * FROM produtos WHERE valor_venda >= '".$minimo[0]."' AND valor_venda <= '".$minimo[1]."' AND categorias='".$_nome_categoria."' ORDER BY {$ordenar} {$asc_desc}"; Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 não deu, continua a mesma coisa... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 18, 2008 Beto lima, já viu o que eu sugeri ? me explique novamente o que que tu quer fazer porque só o que entendi é como montar o seu combo. Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 Oi Alaerte, desculpa... seguinte: uma combo só passando dois valores distintos. e depois uma variavel recupera elas pra depois por último fazer o select entre o minimo e o máximo.... Mas neste exato momento achei o erro... tava errado o meu if... na verdade tem que ser assim if ($minimo[0] == "") { $minimo[0]= "0"; }else { $minimo[0] = $minimo[0]; } if ($minimo[1] == "") { $minimo[1]= "10000000"; }else { $minimo[1] = $minimo[1]; } na descarregada por padrão ele vai dar um select entre 0 e 10000000 Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Junho 18, 2008 Obrigado a todos pela força.... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 18, 2008 Que bom que resolveu então, abraços. Compartilhar este post Link para o post Compartilhar em outros sites