2016-03-20 23 views
0

db-tablom aktivitet durum adlı bir sütun var. Bir olay bittiğinde işlevsellik, bir form ve bir gönderme düğmesi yardımıyla Ej Klar(Not Done)'dan Klar(Done)'a geçiş yapmanız gerektiği anlamına gelir. Üst üste iki gün boyunca burada oturuyorum, birçok farklı yaklaşım denedim ama işe yaramayacağım. Lütfen bunu çözmeme yardım et.Veritabanını select formunu kullanarak nasıl güncellerim?

Here's kod

<?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

Bunu çalıştırdığınızda davranış/sonuç nedir? –

+0

Buradaki altbölgeli foreach ($ pdo-> sorgusu ('SELECT * FROM aktivitet;') $ row olarak adlandırılır. –

+0

ve bu 'if (isset ($ _ POST ['submit'])) {...}' asla ateş etmeyecek. Burada, kendiniz görün http://php.net/manual/en/function.error-reporting.php - Artı, 'if ($ status == 'Ej Klar')' büyük-küçük harf duyarlıdır. –

cevap

0

enter image description here

Göründüğü nasıl. DB'yi bu şekilde ulaştırmak için bir yer olmalı mı?

İlgili konular