全部, 如果我去了以下数据库字段/值:
user_id field_name field_value 1 EventHour1 1 1 EventMinute1 30 1 EventAMPM1 am 1 Event_1 Set Up 1 EventHour2 5 1 EventMinute2 30 1 EventAMPM2 am 1 Event_2 Take Down
然后我有以下HTML / PHP:
<?php
for($i=0;$i<50;$i++){
if ($i%2==0){
echo '<tr bgcolor="#CCCCCC">';
} else {
echo '<tr>';
}
?>
<td><select size="1" id="EventHour<?php echo $i; ?>" name="EventHour<?php echo $i; ?>" >
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select> : <select size="1" name="EventMinute<?php echo $i; ?>" id="EventMinute<?php echo $i; ?>" >
<option>00</option>
<option>05</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option>25</option>
<option>30</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
</select>
<select size="1" name="EventAMPM<?php echo $i; ?>" id="EventAMPM<?php echo $i; ?>">
<option>PM</option>
<option>AM</option>
</select></td>
<td><b>
<select size="1" name="Event_<?php echo $i; ?>" id="Event_<?php echo $i; ?>" class="event_selection">
<option>Select Event...</option>
<option value="Set Up">Set Up</option>
<option value="Take Down">Take Down</option>
</select>
</b></td>
<td> Note:
<input type="text" name="Note<?php echo $i; ?>" id="Note<?php echo $i; ?>">
</td>
</tr>
<?php
}
?>
我想要做的是根据数据库结果设置选择值。因此,如果select id是EventHour1,那么我想将select选项设为1,如果它是Event_2,那么我希望select选项为Take Down。
如何使用PHP进行此操作?任何帮助将不胜感激!
提前致谢
答案 0 :(得分:1)
这是使用数组的基本思想。理想情况下,将从数据库中读取选项(\t
和\n
只是为了在必须查看要调试的源时保持输出HTML格式清洁 - 您还可以使用<?php echo $i?>
如果您愿意,可以输出的方法):
$curVal = /* lookup curVal from database for event */
echo "<select size='1' id='EventHour$i' name='EventHour$i'>\n";
$options = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
foreach ($options as $option) {
if ($curVal == $option)
$selected = " selected='selected'";
else
$selected = "";
echo "\t<option$selected>$option</option>\n";
}
echo "</select>\n\n";
哪个应该为事件2呈现这样的内容,例如:
<select size='1' id='EventHour2' name='EventHour2'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option selected='selected'>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
我也质疑你的数据库设计。如果您尝试将事件存储在数据库中,我认为您对表示问题(字段ID等)和数据存储感到困惑。您的数据库只需捕获基础数据语义,这些是事件的详细信息:
event_id | user_id | event_name | hour | minute | am_pm
1 | 1 | Set Up | 1 | 30 | am
2 | 1 | Take Down | 5 | 30 | am
然后,当您显示事件时,您需要以有意义的方式呈现它,即以带有下拉列表或文本框的表格格式进行数据输入。