下面是我经过严格修改的代码,请原谅我,如果你复制并粘贴以检查我的代码,可能会有错误,因为我修改了很多。
正如您所看到的,用户可能会输入一个级别,然后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 :(得分:1)
您需要为#!/usr/bin/env ruby
class ChompedFileLines
include Enumerable
def initialize(filespec)
@filespec = filespec
end
def each
File.foreach(@filespec) { |line| yield line.chomp }
end
end
# Exercise the class:
FILESPEC = '/usr/share/dict/words'
chomped_file_lines = ChompedFileLines.new(FILESPEC)
puts; p chomped_file_lines; puts
chomped_file_lines.first(10).each { |line| p line }
chomped_file_lines_enum = ChompedFileLines.new(FILESPEC).to_enum
puts; p chomped_file_lines_enum; puts
10.times { p chomped_file_lines_enum.next }
level
此条件将确保仅当用户选择了某个级别时才会在数据库中检查$levelSQL = ! empty($level) ? " WHERE level = '$level'" : '';
$sql = "SELECT * FROM rooms " . $levelSQL;
。
如果用户没有选择级别,则会显示所有记录。