2016-10-21 9 views
-1

私はこれをいくつかの方法でしようとしましたが、可能ではないようです。このシナリオは...PHP/MySQLのドロップダウンリストからの入力に基づいてチェックボックスを選択できますか?

私は各会場にある会場と施設のデータベースを持っています。私。バー1はビールや食べ物などを提供しています。私はドロップダウンリストから都市を選ぶことができるようにしたい(簡単なビット、私は働いている!)、そして選択された都市からは、都市で実際に利用可能なチェックボックスの選択肢しか提供されない。 5つのレストラン、すべてが食べ物を提供するもの、あるものはビールを提供するもの、あるものは赤ワインを提供するものがありますが、白ワインを提供するものはありませんが、都市が選択された後は食べ物、ビール、赤ワインのチェックボックスのみを表示しますDB上のオプション)。これはシナリオですが、パブとパブのゲームを使用しています。私は今までこのコードを持っていて、市のドロップダウンリストからの入力を得ています:

<select name="publocation"> 
<option value="none">Where will you be playing...</option> 

<?php 

$servername = "*****"; 
$username = "*****"; 
$password = "*****"; 
$dbname = "*****"; 

try { 
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
foreach($conn->query("SELECT distinct city from Establishments order by city") as $row) { 
    print "<option value=".$row['city'].">".$row['city']."</option>"; 

} 
$chosencity = $row['city']; 
$conn = null; 

} 
catch (PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
die(); 
} 

?> 
</select> 

これまでのところ、とても良いです。

は、私はその後、それに基づいてやりたいことは可能な活動を選択している - そこに多くのがありますが、単なる一例として、ここではダーツを使用して:

<?php 

try { 

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

foreach($conn->query("SELECT * from Establishments where city like '".$chosencity."'") as $row) { 

if ($row['darts'] = '1') { 
    print "<input type='checkbox' name='adddarts' value='yes'>Darts</input>"; 
    } 


} 
$conn = null; 

} 
catch (PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
die(); 
} 

?> 

私が持っている問題であることはもちろん、その意志ダートをx回印刷します。ここで、xは選択した都市のダーツのある場所の数です。 2番目の問題は、誰かがドロップダウンリストから別の都市を選択した場合、チェックボックスが同じであり、更新しない場合です。PHPでこれを行う方法はありますか?事前に

おかげで、 ブレット

+0

あなたが何を求めているのか不明です。 '$ row ['darts'] = '1''は代入であり、比較ではありません。 – CBroe

+0

不明な場合はお詫び申し上げます。理想的には、新しい都市が選択されたときに利用可能なチェックボックスオプションが、そこで利用可能なオプションを反映するように変更される。 –

答えて

0

JavaScript jQuery AJAXを見てみましょう。これは、同じ起源のページ(この場合はPHPファイル)を呼び出すことができます。 ファイルは、json_encodeを使用してJSON形式の応答を返します。 ajaxコールを与えることによってdata: jsonあなたはオブジェクトにそれを読んで、JavaScript/jQueryを使ってあなたのリストを更新することができます

+0

ありがとう、これは私がやっている必要があるように聞こえる。 –

関連する問題