2016-04-26 12 views
0

以下は私の大幅に変更されたコードです。コピーして貼り付けて私のコードをチェックすれば間違いかもしれません。オプションが選択されていない場合はすべての結果を表示

あなたが見ることができるように、ユーザは、入力レベル、その後、SQLの出力は

すべてが1つの問題を除いて素晴らしい作品そのレベルですべての部屋を表示する必要があります。ユーザーがレベル入力を行わない(彼は許可されている)場合、彼はすべてのレベルを参照する必要があります。だから基本的に彼はすべてのレベルからすべての部屋を参照する必要があります。

しかし、私はSQLステートメントや$ _POST ['level']ステートメントを変更するために何をしても、私がしたいことを得ることができません。ユーザーがレベルを選択しなかった場合、結果は表示されません。

Level: <select id="level" name="level" size="1"> 
    <option selected="selected" disabled="disabled" value="">Please Select</option> 
    <option value"1">1</option> 
    <option value"2">2</option> 
    <option value"3">3</option> 
    <option value"4">4</option> 
</select> 
</p> 


<?php 
if (isset($_POST["submit"])) { 


if (empty($_POST["level"])) { 
    NULL; 
} 
else { 
    $level = $_POST["level"]; 
} 

$Con=mysqli_connect(*database*); 
if (!$Con) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$level = mysqli_real_escape_string($Con, $level); 
$sql = "SELECT * FROM rooms WHERE level = '$level'"; 
$rs = mysqli_query($Con, $sql) 
or die ('Problem with query' . mysqli_error($Con)); 

?> 
<table> 
<tr> 
    <th>Level</th> 
    <th>Rooms</th> 

</tr> 

<?php while ($row = mysqli_fetch_array($rs)) { ?> 
<tr> 
    <td><?php echo $row["level"]?></td> 
    <td><?php echo $row["rooms"]?></td> 
</tr> 

<?php 
+0

'$($ level!== ''){$ sql =" SELECT *フロアルームレベル= $レベル ";} else {$ sql =" SELECT * FROM rooms ";} ' –

+0

人々は直接答えを待っている。コメントを読むことに興味がなく、何が尋ねられますか? –

答えて

1

あなたはlevelは、ユーザーがレベルを選択した場合にのみ、データベース内でチェックされることを保証しますlevel

$levelSQL = ! empty($level) ? " WHERE level = '$level'" : ''; 
$sql = "SELECT * FROM rooms " . $levelSQL; 

ためにこの条件を条件を追加する必要があります。

ユーザーがレベルを選択しなかった場合、すべてのレコードが表示されます。

+0

OPは興味がないので、なぜ私は考えないのですか?あなたの答えは正しい+10 –

+0

清算していただきありがとうございます – Senbon

+0

@Anant、ありがとうございました。 :) – Pupil

関連する問題