我的db-table aktivitet
有一个名为status的列。功能是在事件完成后,您应该在选择表单和提交按钮的帮助下将状态从Ej Klar(Not Done)
切换到Klar(Done)
。
我已经连续两天坐在这里,我尝试了很多不同的方法,但我不能让它工作。请帮我解决这个问题?
这是代码
<?php
$pdo = new PDO('mysql:dbname=orion_db2;host=localhost', 'root', '');
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
echo "<table class='table' border='2'>";
echo "<th style='background-color:#334d4d;'><h1>Tid</h1></th>";
echo "<th style='background-color:#334d4d;'><h1>Uppgift</h1></th>";
echo "<th style='background-color:#334d4d;'><h1>Status</h1></th>";
foreach($pdo->query( 'SELECT * FROM aktivitet;' ) as $row){
$status = $row['status'];
if($status == 'Ej Klar'){
$status = 'Ej Klar';
}
elseif($status == 'Klar'){
$status = 'Klar';
}
echo "<tr>";
echo "<td><h2>".$row['tid']."</h2></td>";
echo "<td><h2>".$row['uppgift']."</h2></td>";
echo "<td><h3><form method='POST' action='index.php' name='stat'><select id='status' name='status' size='1' required><option value='Ej Klar' <?php if($status == 'Ej Klar') echo 'selected'; ?>Ej Klar</option><option value='Klar' <?php if($status == 'Klar') echo 'selected'; ?>Klar</option></optgroup><input type='submit' value='Ändra' /></select></form></h3></td>";
echo "</tr>";
}
echo "</table>";
if(isset($_POST['submit'])) {
$status2 = $_POST['status'];
$sql = "UPDATE members SET status=:status WHERE status=:status";
$stmt = $db->prepare($sql);
$stmt->bindValue(":status", $status2, PDO::PARAM_STR);
$stmt->execute();
}
?>
答案 0 :(得分:0)
这就是它的样子。要以这种方式改变数据库吗?