根据输入选择列

时间:2014-01-27 18:14:51

标签: mysql pdo

嗨,在解决此查询时遇到问题。在我发布类似的问题但没有得到回应之前。所以我发布的内容尽可能简单。

这是我的table room_rate

   room id    single_room   double_room  triple-room
   1          150           200          250
   2          300           400          450

我想要做的是根据用户输入选择single_room或double_room。 这是我的表格

   <form action="test3.php" method="GET">
   <select name="roomtype">
   <option value="s">Single</option>
   <option value="d">Double</option>
   <option value="t">Triple</option>
   </select>
   <button type="Submit">Button</button>
   </form>

这是我的代码

   $sql = "select case
   when roomtype = 's' then single_room END AS RoomRates
   from room_rate where roomtype = ?";
   $Info_stmt = $dbh->prepare($sql);
   $Info_stmt->execute(array($_GET['roomtype']));
   $Info = $Info_stmt->fetch();

任何人都可以建议我在Mysql中执行此操作的代码。也许我的整个代码都错了。

1 个答案:

答案 0 :(得分:0)

好吧,在你的test3.php中,你可以运行这样的东西:

if(isset($_GET['roomtype'])){
    $roomtype = $_GET['roomtype'];
    if($roomtype == 's'){
        $sql = "SELECT room_id, single_room FROM room_rate";
    }
    //Do a similar else if for rest 2 room types
}

事实上,您只需执行一次此查询: SELECT * from room_rate;

然后,您可以根据if else变量将数据显示为$_GET条件。