2012-08-05 84 views
1

我有点问题获取数据库填充复选框的文本值。下面是我的查询,根据我的查询填充复选框。获取复选框的文本值

if (isset($_POST['submitCourseCode'])) { 

    $aElective = $_POST['electiveModules']; 
    foreach(array_keys($aElective) as $elec) { 
    echo "$elec"; 
    } 
} 
echo "<form name=\"psform\" action=\"plotyourcourseGraphpSave.php\" method=\"post\">"; 
$moduleQuery = "SELECT module.*,group_elective_modules.moduleID 
       FROM module,group_elective_modules 
       WHERE group_elective_modules.courseName = '$courseTitle' 
       AND group_elective_modules.yr = '$year' 
       AND group_elective_modules.moduleID = module.ID "; 

$moduleResult = mysql_query($moduleQuery); 
while ($row = mysql_fetch_array($moduleResult)) { 

    echo "<input type=\"checkbox\" name=\"electiveModules[]\" value=\"{$row['title']}\" /> {$row['title']}<br />";              
}                                 
echo "<input type=\"submit\" name=\"submitCourseCode\" value=\"Submit\" /> 
</form>"; 

下面是屏幕截图 enter image description here

结果中选中的复选框

enter image description here

但是,这就是我想要

Threshold French 
French for Reading Purposes I 
German Language (Beginner [00] Level) 
German Language (Intermediate [05] Level) 

所以,当我选择几的ch eck框和我按提交,它通过我选择的复选框的数值,但我想要的文本值。对此有任何帮助吗?

+0

这很奇怪,因为你回声相同的变量{$ row ['标题']}复选框的值和旁边的标签...你确定你有$ _POST ['electiveModules']数组价值? – Samson 2012-08-05 12:59:34

回答

1

这是不正确的代码:

foreach(array_keys($aElective) as $elec) 

因为你用array_keys,它将获得该指数的,而不是价值, 应该是:

foreach($aElective as $elec)

+0

@ ivantedja.Perfect !!你是传奇!真的很感谢!! :) – user1444442 2012-08-05 13:10:58

0
$aElective = $_POST['electiveModules']; 
foreach($aElective as $key => $value) { 
    echo "$key: $value"; 
} 

是这对你有用吗?

+0

@ wkaha.Thanks很多,它现在工作。使用预定义的函数array_keys()导致了这个问题。感谢您的建议,祝您有美好的一天! – user1444442 2012-08-05 13:23:07