0
对于组合框,我最多有100个选择(现在是79),并且有79个选项。每个人都代表一个问题,并记录在MySQL的“问题”表中。这些选项记录在一个名为“question_codes”的表中,它们代表与某些问题相关的字段名称。我在对方内部尝试了2次循环,但是我认为这会因79 * 79迭代而使服务器过载。我也有一个文本字段,取决于与Ajax的选择,正常工作。表“question_codes”中的Number 0字段是id,我不使用它。这是我的代码。用MySQL数据库中的PHP填充多个组合框
$code_query="SELECT * FROM questions WHERE id='1'";
$question_query="SELECT * FROM questions WHERE id='2'";
$result_question_query=mysql_query($question_query,$conn);
$result_code_query=mysql_query($code_query,$conn);
$selected_query=mysql_query("SELECT * FROM question_codes");
while($row_selected=mysql_fetch_row($selected_query))
{
$column_count=count($row_selected);
}
while($row=mysql_fetch_array($result_question_query) && $row2=mysql_fetch_array($result_code_query))
for($i=1;$i<$column_count;$i++)
{
$db_q="q$i";
$fill=$row[$db_q];
$fill_code=$row2[$db_q];
print('<tr style="background:navy;color:white"><td width="60px">Question '.$i.'</td>
<td>
<select name="'.$db_q.'_code" id="'.$db_q.'_code" onchange="showQuestion(this)">
<option value="">Select a question</option>
for ($j=1;$j<$column_count;$j++)
{
$name=mysql_field_name($selected_query,$j);
if ($fill_code==$name)
{
$selected="selected";
}
else
{
$selected="";
}
print('<option value="'.$name.'" '.$selected.'>'.$name.'</option>');
}
print('</select>
</td>
<td><input type="text" value="'.$fill.'" name="'.$db_q.'" id="'.$db_q.'"></td></tr>');
你是绝对正确的,我将首先更改数据库中的表格,并按照你的说法进行操作。 – huroran
不幸的是你建议我的结构是正确的,但它不适合我,它只是让事情变得更加困难,所以我仍然无法解决这个问题 – huroran
你原来的帖子很难解密!发布你当前的sql表结构,我们来看看。 – neokio