2012-11-01 55 views
0

快速的問題:複選框,PHP和SQL

我在我的代碼中的複選框,告訴用戶如果記錄的狀態爲DONE沒有做。當用戶在數據庫中進行記錄搜索時,出現的記錄顯示當前記錄狀態(DONENOT DONE)。

如果複選框沒有檢查意味着,記錄沒有做過,所以我想盡快放置一個複選框上的記錄狀態一側,以便用戶可以檢查它,因爲他們完成工作記錄。在檢查複選框後,將值發送到DB,告訴DB該記錄的新狀態爲DONE

如何在下列示例代碼時實現此目的:(結果在用戶之後顯示由使用一種形式)

<?php 
if(!isset($_POST['search'])) 
{ 
?> 

<?php 
} 
else 
{ 
    $from = trim($_POST['OLD']); 
    $to = trim($_POST['NEW']); 
    $status = isset($_POST['Status']) ? "AND status = 'DONE' " :"AND status = 'NOT DONE' "; 

    $connection = mysql_pconnect("HOST", "USER", "PASS") or die("Connection failed. ".myslq_error()); 
    mysql_select_db("DBNAME") or die("Unable to select db. ".mysql_error()); 
    $query = "SELECT * FROM records WHERE Date >= '$from' AND Date <= '$to' ".$status." ORDER BY date ASC"; 

    $result = mysql_query($query) or die(mysql_error()); 

    echo "<table class='table' id='SearchResult' cellspacing='0' cellpadding='0'>"; 
     echo "<tr class='rowa'><b>"; 
      echo "<td class='col0 cell'>ID</td>"; 
      echo "<td class='col1 cell'>Name</td>"; 
      echo "<td class='col2 cell'>Last Name</td>"; 
      echo "<td class='col3 cell'>Place</td>"; 
      echo "<td class='col4 cell'>Station</td>"; 
      echo "<td class='col5 cell'>Phone</td>"; 
      echo "<td class='col6 cell'>Date of Record</td>"; 
      echo "<td class='col7 cell'>Status</td>"; 
     echo "</tr>"; 
    echo "</table>"; 
    while($record = mysql_fetch_object($result)) 
    { 
    echo "<table class='table' id='SearchResult' cellspacing='0' cellpadding='0'>"; 
     echo "<tr class='rowb'>"; 
      echo "<td class='col0 cell'>".$record->ID."</td>"; 
      echo "<td class='col1 cell'>".$record->Name."</td>"; 
      echo "<td class='col2 cell'>".$record->lastName."</td>"; 
      echo "<td class='col3 cell'>".$record->Place."</td>"; 
      echo "<td class='col4 cell'>".$record->Station."</td>"; 
      echo "<td class='col5 cell'>".$record->Phone."</td>"; 
      $year_part_of_date = explode('-', $record->date); 
      echo "<td class='col6 cell'>".$record->date."</td>"; 
      echo "<td class='col7 cell'>".$record->Status."</td>"; 
     echo "</tr>";  
    echo "</table>"; 
    } 
} 
?> 



感謝大家展示我的方式搜索:

回答

0

你的意思是,像這樣的d?

echo "<td class='col7 cell'><input type='checkbox' name='status' ".($record->Status == 'DONE' ? 'checked' : '')."/></td>"; 
+0

對! :D現在顯示覆選框爲完成!大!現在我想弄清楚的是用戶選中這些複選框來更新SQL數據庫上的狀態的部分。 反正有辦法解決這個問題嗎? – Edwinrif

+0

在你想要實現更新的相同形式?我會在複選框中單擊AJAX調用,但如果超出了您的專業知識範圍,那麼您將不得不爲用戶提供一個「保存」按鈕,該按鈕會將您從數據庫中繪製的表單發送回PHP腳本,採取新的參數並更新數據庫記錄。當你知道如何去做這件事時,這是一件容易的事情,但在這裏寫下整段代碼當然不是一件容易的事情。 – deb0rian

+1

好的,對我來說很不錯。我對這兩種選擇的想法是一樣的。我想我現在會提供一個保存按鈕/表單。稍後我會更新代碼以使用AJAX。 其實,我已經做了/按鈕來做到這一點,但我在某個時候被卡住了。問題是我正在使用的代碼搜索符合搜索規範的記錄,但我不確定如何使表單適用於每個記錄狀態。 非常感謝@Fratyr。 – Edwinrif