在這裏,我有兩個表:tbl_checklist和tbl_stud_checklist。一旦我在tbl_checklist中添加新數據,該項目將成爲tbl_stud_checklist中的另一列。顯示數據字段爲複選框,保留檢查值和設置值爲1時檢查
tbl_checklist:
+---------------------------+
| id | Checklist |
+---------------------------+
| 1 | Medical Certificate |
| 2 | Evaluation Form |
| 3 | Application Form |
+---------------------------+
tbl_stud_checklist:
+----------------------------------------------------------------+
| id | Medical Certificate | Evaluation Form | Application Form |
+----------------------------------------------------------------+
| 1 | 0 | 0 | 0 |
+----------------------------------------------------------------+
,然後,我將檢索在tbl_stud_checklist爲複選框的所有數據字段,一旦有人檢查,檢查會保留並將其值改爲1.希望你能幫助我離開這裏。我搜索了很多,並嘗試了很多教程,仍然讓我錯了。
代碼:
<html>
<form action='' method='post'>
<?php
$database = 'sample';
$table = 'tbl_stud_checklist';
$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('sample', $mysql) or die(mysql_error($mysql)); // selecting db is not not necessary in this case
$query = sprintf("
SELECT
COLUMN_NAME, COLUMN_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = '%s'
AND TABLE_NAME = '%s'
",
mysql_real_escape_string($database),
mysql_real_escape_string($table)
);
$result = mysql_query($query, $mysql) or die(mysql_error($mysql));
while(false!=($row=mysql_fetch_array($result))) {
$name = htmlspecialchars($row['COLUMN_NAME']);
$type = htmlspecialchars($row['COLUMN_TYPE']);
printf("<input type=\"checkbox\" name=\"col[]\" value=\"%s\" />%s (%s)<br />\r\n", $name, $name, $type);
}
?>
<tr><td colspan="2"><input type="submit" name="submit" value="Update Privileges" /></td></tr>
</form>
</html>
你從哪裏得到'$ type'?你也可以描述你提交後想要得到的是什麼?只有選中的複選框或所有選中的複選框已設置? –
哦對不起,我忘記了,它必須是$ query = sprintf(「SELECT COLUMN NAME,COLUMN_TYPE ...)然後提交後,即使我重新加載頁面,選中的複選框也會保留,然後設置檢查的值複選框爲1.希望我向你明確。 – user249563
我的意思是,顯示的複選框來自表列名稱,所以當用戶檢查它時,它的值必須是1在數據庫中.. – user249563