Ir para conteúdo

POWERED BY:

Arquivado

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

Dan Almeida

Update em tabela com retorno de várias informações

Recommended Posts

Prezados(as), bom dia.

 

Estou muito enferrujado em PHP, pois faz um certo tempo que não trabalhava com desenvolvimento.

 

Vamos lá.

 

Meu código retornará dados de 1 processo e os itens deste processo.

 

Não há limite de itens para os processos, de forma que utilizo WHILE para retorná-los.

 

Preciso atualizar informações destes itens, tal como o PREÇO e MARCA_MODELO, sendo que para item estas informações serão diferentes. Sinceramente, não me recordo como se faz nesta situação.

 

Segue meu código:

<?php
if (isset($_SESSION['id_ass_user'])) {


    //Obtém as informações da base de dados por POST
    $oferta_compra = mysqli_real_escape_string($dbc, trim($_POST['oferta_compra']));

    $query = "SELECT * FROM processos_materiais
	 INNER JOIN processos ON processos_materiais.proc = processos.id_processo
	 INNER JOIN materiais ON processos_materiais.material = materiais.cod_siafisico
         INNER JOIN unid_comp ON processos.uc = unid_comp.cod_uc
         INNER JOIN tipo_processo ON processos.tipo = tipo_processo.id_tipo_processo
	 WHERE oferta_compra = '" . $oferta_compra . "'
         ORDER BY item ASC";
    $result = mysqli_query($dbc, $query) or print(mysqli_error('A busca não retornou nenhum processo.'));
    $resultado = mysqli_query($dbc, $query);

    $row = mysqli_fetch_array($resultado);

    echo '<form name="reg_user" method="post" action="' . $_SERVER['PHP_SELF'] . '" >';

    echo '<table style="width: 1014px;">';
    echo '<tr>';
    echo '<td colspan=7 class="td_title">Oferta de Compra: <strong>', $oferta_compra, '</strong></td><td>';
    echo '' . $row['nome_tipo_processo'] . '</td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td colspan=2>Data da Inserção</td><td colspan=2>Unidade Compradora</td><td colspan=2>Data Limite</td><td colspan=2>Hora Limite</td>';
    echo '</tr>';

    echo '<tr>';
    echo '<td colspan=2>' . $row['data_insert'] . '</td><td colspan=2>' . $row['cod_uc'] . ' - ' . $row['nome_uc'] . '</td><td colspan=2>' . $row['data_limite'] . '</td><td colspan=2>' . $row['hora_limite'] . '</td>';
    echo '</tr>';

    echo '<tr>';
    echo '<td class="td_item">Item</td><td>Código</td><td>Material</td><td>Qnt.</td><td>Unidade</td><td>Marca/Modelo</td><td>Preço Referencial</td><td>Data Referencial</td>';
    echo '</tr>';

    while ($row = mysqli_fetch_array($result)) {
        $id = $row['id_processo'];

        echo '<td>' . $row['item'] . '</td><td>' . $row['cod_siafisico'] . '</td><td>' . $row['desc_siafisico'] . '</td><td>' . $row['quantidade'] . '</td><td>' . $row['unidade'] . '</td><td><textarea rows="5" cols="30" id="desc_siafisico" name="desc_siafisico" />' . $row['marca_modelo'] . '</textarea><br /><br /></td><td><textarea rows="5" cols="20" id="preco" name="preco" />' . $row['preco'] . '</textarea></td><td>' . $row['data_processo'] . '</td>';
        echo '</tr>';
    }
    echo '</table><!--Fim .result_busca-->';
    echo '<input type = "submit" name = "submit" value = "Enviar" />';
    echo '</form>';
    echo '</a>';
    echo '<br>';
    echo '<hr>';

//Reconheço que esta parte do código está completamente errada
    if (isset($_POST['submit'])) {

        $query = "UPDATE processos_materiais SET preco = '$preco'";

        mysqli_query($dbc, $query)
                or die('Erro ao gravar no banco de dados. COD 1002');

        $query = "UPDATE materiais SET marca_modelo = '$marca_modelo";

        mysqli_query($dbc, $query)
                or die('Erro ao gravar no banco de dados. COD 1002');

        //Confirma sucesso ao usuário
        echo '<div align="center"><p style="color:green;">As informações foram atualizadas com sucesso.</p></div>';

        mysqli_close($dbc);
        exit();
    }
}
?>

Se alguém puder ajudar serei muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que sua dificuldade também esteja em montar o formulário.

 

Como são vários itens de um processo, sugiro montar os itens como um array:

http://forum.imasters.com.br/topic/462549-resolvidoretornar-array-de-inputs-com-mesmo-nome/?p=1832412

 

Depois, conforme o código do link acima, recupere e itere sobre o array de itens do formulário inserindo/atualizando cada um deles.

 

No link abaixo, há um exemplo de persistência com foreach, aonde você escreve apenas uma vez a query e, a cada iteração, persiste um novo registro.

http://forum.imasters.com.br/topic/519263-pegar-checkbox-unchecked-com-value0/?p=2064762

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.