【发布时间】:2009-04-23 15:57:36
【问题描述】:
--为清晰起见进行了编辑。
数据库:
tblModule,包含可以启用或禁用的模块列表。 tblData,包含信任列表和它们启用的模块。这链接到 tblData.M01 = tblModule.mod_key
上的 tblModule从索引页面访问 PHP 页面并将变量 lstModTrust 传递给该页面,以限制从 tblData 返回的记录为单一信任。 tblData.trust_key
运行一个查询,qryModuleList 返回所有模块的列表。这用于生成所有可用模块的表。每行显示模块名称 tblModules.mod_name、模块代码 tblModules.mod_code 和一个复选框。
qryModData 将返回为单一信任启用的模块列表,需要在表格中勾选相应的复选框。
然后,此页面将用于启用和禁用信任的模块。如果一个模块未勾选,则该条目将从 tblData 中删除,如果勾选,则插入一个条目,如果没有更改,则数据库中没有更改。
目前我无法根据 qryModData
正确勾选复选框有什么想法吗?
--已编辑以包含代码--
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Module</td>
<td>Module Code</td>
<td> </td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_qryModuleList['mod_name']; ?></td>
<td><?php echo $row_qryModuleList['mod_code']; ?></td>
<td><input <?php if (!(strcmp($row_qryModData['M01'],$row_qryModuleList['mod_code']))) {echo "checked=\"checked\"";} ?>name="chkMod" type="checkbox" id="chkMod" value="<?php echo $row_qryModData['M01']; ?>" /></td>
</tr>
<?php } while ($row_qryModuleList = mysql_fetch_assoc($qryModuleList)); ?>
</table>
然后有两个 SQL 查询,一个生成用于构建表的列表,第二个我试图使用它来设置复选框。
qryModuleList
SELECT *
FROM tblmodules
ORDER BY mod_name ASC
qryModData
SELECT *
FROM tbldata
WHERE trust_key = varTrust
varTrust 是从 URL 变量中提取的。
很抱歉一开始没有包含代码。
--编辑新代码。
<?php while ($row_qryModuleList = mysql_fetch_assoc($qryModuleList)) { ?>
<tr>
<td><?php echo $row_qryModuleList['mod_name']; ?></td>
<td><?php echo $row_qryModuleList['mod_code']; ?></td>
<td><input <?php if (strcmp($row_qryModData['M01'],$row_qryModuleList['mod_key']) != 0) {echo "checked=\"checked\"";} ?>name="chkMod" type="checkbox" id="chkMod" value="<?php echo $row_qryModData['M01']; ?>" /></td>
</tr>
<?php } ; ?>
--为新代码编辑。
<tr class="tblHead">
<td>Module</td>
<td>Module Code</td>
<td>Enabled\Disabled</td>
</tr>
<?php
$mod_data = array();
while ($row_qryModData = mysql_fetch_assoc($qryModData))
array_push($mod_data, $row_qryModData['M01']);
$currentRow = 0;
while ($row_qryModuleList = mysql_fetch_assoc($qryModuleList)) {
?>
<tr bgcolor="<?php echo($currentRow++ % 2)?"#CCFFFF":"#FFCCFF";?>">
<td><?php echo $row_qryModuleList['mod_name']; ?></td>
<td><?php echo $row_qryModuleList['mod_code']; ?></td>
<td><input <?php if (false !== (array_search($mod_data, $row_qryModuleList['mod_key']))) echo "checked=\"checked\""; ?> name="chkMod" type="checkbox" id="chkMod" value="<?php echo $row_qryModData['M01']; ?>" /></td>
</tr>
<?php } ; ?>
【问题讨论】:
-
肯定需要一些代码示例来辅助
标签: php forms checkbox dreamweaver