Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, Pessoal!
Estou com o(a) seguinte problema/dúvida
Tenho uma função que monta uma tabela de cores e suas respectivas quantidades/tamanho. Porém a ordem é montada inversamente.
Seguem os dados
Função js para montagem da tabela.
function mostraItens(cor, id, qtd, i){
var totals = 0;
totals++;
tbl = document.getElementById("itensproduto");
var novaLinha = tbl.insertRow(1);
var novaCelula;
if(totals%2 === 0) cl = "#F5E9EC";
else cl = "#FBF6F7";
novaCelula = novaLinha.insertCell(0);
novaCelula.innerHTML = '<input type="hidden" size="5" name="corid'+i+'" class="corid" value="'+id+'" >'+cor;
$.each(qtd, function(key, value){
if (value.cor_id === id){
novaCelula = novaLinha.insertCell(1);
novaCelula.align = "left";
novaCelula.style.backgroundColor = cl;
novaCelula.innerHTML = '<input type="text" name="qtd'+value.destam+i+'" class="tam'+value.destam+'" size="5" value="'+value.qtd+'" >'+value.destam;
}
});
novaCelula = novaLinha.insertCell(5);
novaCelula.align = "left";
novaCelula.style.backgroundColor = cl;
novaCelula.innerHTML = '<input type="text" name="totCor'+i+'" id="totCor" class="totSoma" size="5" value="0" readonly="readonly" >';
}
retorno no formato JSON
{"ref":"111-3115-143","id":"52115","descricao":"OPS015-CAMISETA MASC.MC-SILK","var":"1","cores":[{"cor_id":"99601073","nome":"AZ-AZUL GRECIA6008 P"},{"cor_id":"99601072","nome":"CZ-CINZA CASTOR1007"},{"cor_id":"99601071","nome":"VM-VERM.SUNSET 5013"}],"qtd":[{"cor_id":"99601071","destam":"P","tamanho_id":"1","qtd":"7"},{"cor_id":"99601071","destam":"M","tamanho_id":"2","qtd":null},{"cor_id":"99601071","destam":"G","tamanho_id":"3","qtd":"6"},{"cor_id":"99601071","destam":"GG","tamanho_id":"4","qtd":"7"},{"cor_id":"99601072","destam":"P","tamanho_id":"1","qtd":"4"},{"cor_id":"99601072","destam":"M","tamanho_id":"2","qtd":"5"},{"cor_id":"99601072","destam":"G","tamanho_id":"3","qtd":"5"},{"cor_id":"99601072","destam":"GG","tamanho_id":"4","qtd":"4"},{"cor_id":"99601073","destam":"P","tamanho_id":"1","qtd":"1"},{"cor_id":"99601073","destam":"M","tamanho_id":"2","qtd":"2"},{"cor_id":"99601073","destam":"G","tamanho_id":"3","qtd":"2"},{"cor_id":"99601073","destam":"GG","tamanho_id":"4","qtd":"1"}]}
PHP
$ref = 52115;//$_POST['refprod']; // 51343;// 52115;// 261; // 1; //
$codtab = 261; //$_POST['tabpreco'];
$nrpedido = 1; //$_POST['nrpedido'];
$sqlpedido = "SELECT DISTINCT(`ficha_id`) ".
"FROM pedido_produto pp ".
"WHERE `id_pedrep` = $nrpedido AND ficha_id = $ref;";
$resultpedido = mysqli_query($conn, $sqlpedido);
$itref = mysqli_fetch_assoc($resultpedido);
$cod_ref = $itref["ficha_id"];
if (mysqli_num_rows($resultpedido) > 0){
$sql_ref = "SELECT f.`ref`, f.`id`, f.`descricao` FROM ficha f WHERE id = $cod_ref";
$query_ref = mysqli_query($conn, $sql_ref);
while ($ref_data = mysqli_fetch_assoc($query_ref)){
$ref_data["var"] = "1";
$sql_cor = "SELECT fc.cor_id, c.nome FROM ficha f ".
"INNER JOIN ficha_cor fc ON (fc.id = f.id) ".
"INNER JOIN cor c ON (fc.cor_id = c.id) ".
"WHERE f.id = $cod_ref ".
"ORDER BY fc.ordem DESC";
$query_cor = mysqli_query($conn, $sql_cor);
while($cor_ref = mysqli_fetch_assoc($query_cor)){
$ref_data["cores"][] = $cor_ref;
}
$sql_qtd = "SELECT fc.`cor_id`, ft.`destam`, ft.`tamanho_id`, pp.`qtd`".
"FROM ficha f ".
"INNER JOIN ficha_cor fc ON (f.id = fc.id) ".
"INNER JOIN ficha_tamanho ft ON (f.id = ft.id) ".
"LEFT OUTER JOIN pedido_produto pp ON (ft.tamanho_id = pp.ficha_tamanho ".
" AND fc.cor_id = pp.ficha_cor) ".
"WHERE f.`id` = $cod_ref ".
"ORDER BY fc.ordem, ft.tamanho_ordem"; //aqui já tentei DESC e ASC porém sem resultado
$query_qtd = mysqli_query($conn, $sql_qtd);
while ($qtd_cor = mysqli_fetch_assoc($query_qtd)){
$ref_data["qtd"][] = $qtd_cor;
}
$result = $ref_data;
}
echo json_encode($result);
}
tabela montada
CORES P M G GG TOTAL
VM-VERM.SUNSET 5013 7 GG 6 G null M 7 P
CZ-CINZA CASTOR1007 4 GG 5 G 5 M 4 P
AZ-AZUL GRECIA6008 P 1 GG 2 G 2 M 1 P
VALOR UNITARIO
Grato desde já!
Resolvido. O erro era falta de atenção. Desculpa aí, pessoal!!!
Aos moderadores, se existir alguma forma de excluir este tópico, mete bala. Senão...
O erro estava na linha
novaCelula = novaLinha.insertCell(1);
troquei por
novaCelula = novaLinha.insertCell();
Carregando comentários...