Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

joaocasta

Como fazer updates com checkbox

Mensagens Recomendadas

joaocasta

Boas tardes pessoal do PAP.

Estou a tentar utilizar umas checkboxes para que certas mensagens sejam actualizadas na base de dados.

Têm de ser aprovadas. mas não estou a conseguir usar o update.

Podem ajudar-me? obrigado.

index.php


<?php

$username = "root";
$password = "";

   $conn = new PDO('mysql:host=localhost;dbname=chat_addon', $username, $password);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$data = $conn->query('SELECT * FROM chat_messages WHERE approved = 0');
?>
<form action="approvemessages.php" method="POST">
<?php
foreach($data as $row) {
echo $row['message'];
?>
<input type="checkbox" name="message[]" value="<?php echo $row["id"]; ?>" /><br/>
<?php
}
?>
<input type="submit" name="submit" value="Submit">
</form>

approvemessages.php


<?php

$username = "root";
$password = "";

   $conn = new PDO('mysql:host=localhost;dbname=chat_addon', $username, $password);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// checkboxes are only sent if checked
if (!empty($_POST["message"]) && is_array($_POST["message"])) {
   // sanitize
   $ids = array_map("intval", array_filter($_POST["message"], "is_scalar"));
   // update all of them at once in batches of 1000
   foreach (array_chunk($ids, 1000) as $batch) {
       mysql_query("UPDATE chat_messages SET approve = 1 WHERE id IN (" . implode(", ", $batch) . ")");
   }
}
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Toma atenção a como tentas executar o query SQL. Se tomasses atenção ao erro que te aparece ajudava muito...


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.