2012-05-06 9 views
1

誰かがこの問題を手伝ってくれますか?誰かがオプションを選択し、それが自分のデータベースに挿入されるボタンをクリックすると、名前がすべて正しいかどうかチェックしています。(初心者投稿)PHPドロップダウンリスト、ドロップダウンリストから値をデータベースに挿入する

注:データベースの値をドロップダウンリストに選択しようとしていないため、アカウントのアプリケーションフォームのように値を挿入するだけです。

注:誰かが同じ質問をした場合、それは素晴らしいでしょう!あなたがコメントにリンクを貼り付けることができれば、ありがとう。

<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 

[email protected]_connect('localhost', 'root', ''); 
    if (!$db_tengi) { 
     exit('<p>Cant Connect</p>'); 
    }; 

if([email protected]_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>'; 
    }; 


    ?> 
+0

あなたはどのようなエラーを取得していますか? – Norse

答えて

1

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)このデータは、接続後にデータベースに書き込む必要があります

+0

ありがとうございます:Dそれはうまくいきました。修正するために2時間かかった問題を修正しました。 – Nenok

1

私はアイスランド語(またはそれが何であれ)を読んでいないが、あなたは$ roomを使う代わりにあなたの関数で毎回新しい配列を宣言しているようだ。

は交換してみてください:

function generateSelect($name = '', $options = array()) { 

で:

function generateSelect($name, $options) { 
関連する問題