Estou desenvolvendo um sistema de cotação, e estou numa fase de edição dessas cotações. Vou colocar alguns fragmentos do script para facilitar a explicar minha duvida.
//AQUI EU FAÇO UMA SELEÇÃO GERAL COM OS DEVIDOS RELACIONAMENTOS, OU SEJA, EU VOU SELECIONAR TUDO DE UMA DETERMINADA COTAÇÃO(PRODUTOS, DISTRIBUIDOR, DATA, ETC...)
$sel_geral = "SELECT A.ID_PRODUTO, A.ID_DISTRIB, B.ID_COTACAO, B.DATA, C.DISTRIBUIDOR, D.PRODUTO FROM tb_cot AS A
INNER JOIN tb_cot_cotacoes AS B ON A.ID_COTACAO = B.ID_COTACAO
INNER JOIN tb_cot_distrib AS C ON A.ID_DISTRIB = C.ID_DISTRIB
INNER JOIN tb_cot_produtos AS D ON A.ID_PRODUTO = D.ID_PRODUTO WHERE A.ID_COTACAO=".$_GET['EDIT']."";
$exec_sel_geral = mysql_query($sel_geral) or die(mysql_error());
Depois eu quero relacionar todos o produtos da tabela com um checkbox correspondente, até aí tudo bem, tá tranquilo. Só nao consigo trazer marcado os produtos que ja foram cotados na hora de salvar essa cotação, lembrando que eu estou na fase de edição delas.
Tentei dessa maneira:
// SELECIONO TODOS OS PRODUTOS DA TABELA
$exec_sel_prod = mysql_query("SELECT * FROM tb_cot_produtos ORDER BY PRODUTO") or die("Erro no banco de dados"); // SELECIONA PRODUTOS NO BANCO DE DADOS
while ($produtos = mysql_fetch_array($exec_sel_prod)) {
$produto = $produtos['PRODUTO'];
$id_produto = $produtos['ID_PRODUTO'];
//AQUI TA SENDO O PROBLEMA:
$dados = mysql_fetch_array($exec_sel_geral);
if($id_produto==$dados[ID_PRODUTO]) //esse if, ta errado, mas eu nao consigo pensar em uma maneira de fazer o q eu to querendo(desse jeito só vai dar certo se os chekbox tiverem sido marcados na sequencia dos codigos dos produtos)..
echo"<td bgcolor=#f3f3f3><input type=\"checkbox\" name=\"produto[]\" value=".$id_produto." CHECKED></td>";
else
echo"<td bgcolor=#f3f3f3><input type=\"checkbox\" name=\"produto[]\" value=".$id_produto."></td>";
Rsrs, se alguem puder mim dar uma luz nisso ae eu agradeço demais..
Obrigado..

Checkbox
Started By thiagolonde, 28/11/2006, 08:31
2 replies to this topic
#1
Posted 28/11/2006, 08:31
#2
Posted 28/11/2006, 10:05
cara compara dentro do chekbox
faz assim
<input type=\"checkbox\" name=\"produto[]\" value=".$id_produto."
<?=$id_produto==$dados[ID_PRODUTO] ? 'CHECKED' : '' ;> >
tenta ai..
faz assim
<input type=\"checkbox\" name=\"produto[]\" value=".$id_produto."
<?=$id_produto==$dados[ID_PRODUTO] ? 'CHECKED' : '' ;> >
tenta ai..
#3
Posted 28/11/2006, 11:35
dessa maneira tambem nao funcionou, note que se os ids nao estiverem na sequencia nao vai marca-los. Por exemplo, se eu escolher os produtos cujo os codigos sao 1, 3, 8 na hora de realizar a cotacao, não vai trazer os produtos 3 e 8 marcados na edicao da cotacao. Quando o while rodar na primeira vez os codigos vao ser iguais nas duas tabelas, mas na segunda vez o ID_PRODUTO na tb_produtos vai ser 2 enquando na tb_cot o ID_PRODUTO onde o ID_COTACAO é igual a X, ja vai ser 3. Dessa maneira nao vai marcar o terceiro produto ja que ($id_produto==$dados[ID_PRODUTO]) vai ser falso.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)