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:
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.
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