Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Como fazer updates com checkbox

$
0
0
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
Código (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
Código (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) . ")");
    }
}
?>

Viewing all articles
Browse latest Browse all 14700