"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como atualizar várias linhas do MySQL com dados de formulário usando PHP?

Como atualizar várias linhas do MySQL com dados de formulário usando PHP?

Publicado em 2024-11-08
Navegar:797

How to Update Multiple MySQL Rows with Form Data Using PHP?

Atualizando múltiplas linhas MySQL com dados de formulário

No desenvolvimento web, é comum ter um formulário onde os usuários podem editar registros de um banco de dados. Um cenário comum é atualizar várias linhas na mesma tabela com dados modificados. Isso pode ser conseguido usando PHP e MySQL.

Estrutura do formulário e recuperação de dados

O formulário inicial é responsável por apresentar os dados a serem editados. Neste exemplo, o formulário recupera todas as fotos com um GALLERY_id específico do banco de dados e as exibe com campos para modificar o título e as tags da foto.

Envio e atualizações de dados

Quando o formulário é enviado, os dados são enviados para um script PHP para processamento. O script usa o loop foreach para iterar sobre os dados postados e extrair os valores de ID da foto, título e tags.

Atualizando linhas com instruções preparadas

O próximo A etapa é atualizar as linhas correspondentes no banco de dados. Para isso, é utilizada uma declaração preparada. Envolve:

  1. Preparar uma consulta SQL com espaços reservados para os valores a serem atualizados.
  2. Vincular os valores do espaço reservado aos dados reais.
  3. Executar a consulta para cada linha no loop.

Looping sobre matrizes de formulário

Para permitir para que várias linhas sejam atualizadas, os campos do formulário HTML são enviados como matrizes. Isso é conseguido usando a notação [] nos nomes dos campos:

echo "

No script PHP, esses arrays são acessados ​​usando o loop foreach, permitindo que o script itere sobre os dados e atualize cada linha de acordo.

Exemplo Código

O script PHP atualizado ficaria assim:

foreach ($_POST['photo_id'] as $key => $photo_id) {
    $id = $photo_id;
    $title = $_POST['photo_title'][$key];
    $tags = $_POST['photo_tags'][$key];

    $sql = "UPDATE photos SET title=?, tags=? WHERE id=?";
    $query = $db->prepare($sql);
    $query->execute(array($title, $tags, $id));
}

Seguindo essas etapas, você pode postar dados de formulário de maneira eficaz e atualizar várias linhas em uma tabela MySQL.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3