有人可以帮我解决这个问题吗,对不起代码中的语言。我试图做到这一点,当有人选择一个选项并单击它将插入我的数据库的按钮时,我已经检查了名称是否全部正确等等,它们是。
注意:我不会尝试从我的数据库中选择一个值,而是在我的下拉列表中插入该值,就像帐户的申请表一样。
注意:如果有人问了同样的问题,那就太棒了! 如果你可以在评论中粘贴链接,谢谢。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name="room" value="options">
<option value="Einstaklings" name="102">Alment Einstaklings Herbergi</option>
<option value="Tveggja" name="102">Alment Tveggja manna Herbergi</option>
<option value="Business" name="201">Business Herbergi</option>
<option value="Fjolskyldu" name="301">Fjölskyldu Herbergi</option>
<option value="Svitu" name="401">Svítu</option>
</SELECT>
<input type="submit" value="Senda"/>
</form>
<?php
$db_tengi=@mysql_connect('localhost', 'root', '');
if (!$db_tengi) {
exit('<p>Cant Connect</p>');
};
if(!@mysql_select_db('hotel')){
exit('<p>Cant Connect</p>');
};
$room = array(
'Einstaklings' => 101,
'Tveggja' =>102,
'Business' => 201,
'Fjolskyldu' =>301,
'Svítu' => 401
);
function generateSelect($name = '', $options = array()) {
$html = '<select name="'.$name.'">';
foreach ($options as $option => $value) {
$html .= '<option value='.$value.'>'.$option.'</option>';
}
$html .= '</select>';
return $html;
}
$html = generateSelect('room', $room);
if (
$sql = "INSERT INTO `registration` SET
room_ID_FK='$room'"
)
if(@mysql_query($sql)){
echo '<p> Insert Complete</p>';
}
else{
echo '<p> Error Insert failed.' . mysql_error() . '</p>';
};
?>
1)在你的选择中,不要为每个选项命名
<select name="room" value="options">
<option value="Einstaklings">Alment Einstaklings Herbergi</option>
<option value="Tveggja">Alment Tveggja manna Herbergi</option>
<option value="Business">Business Herbergi</option>
<option value="Fjolskyldu">Fjölskyldu Herbergi</option>
<option value="Svitu">Svítu</option>
</SELECT>
2)您需要接收您发布的数据,它将在超全局数组中 $_POST
<?php
$room = $_POST['room'];
?>
3) 在连接到数据库后,您需要将此数据写入数据库
不确定我明白了,但话又说回来,我不读冰岛语(或其他什么),但看起来你每次都在函数中声明一个新数组,而不是使用 $room ?
尝试替换 :
function generateSelect($name = '', $options = array()) {
跟:
function generateSelect($name, $options) {