php - 使用 php 和 MySql 的 html 下拉列表

标签 php html mysql forms dropdown

我正在尝试创建一个使用 php 连接到 MySql 数据库的下拉列表。但它不起作用,我确信这是我需要做的一个简单的更改,但由于复杂的花哨 Bootstrap 形式,我无法弄清楚!

这是我的代码:

<form method="post" action="bookings.php" class="popup-form">
                    <fieldset>
          <input id="email" name="email" type="text" class="form-control form-white" placeholder="Email">
                    <input id="firstname" name="firstname" type="text" class="form-control form-white" placeholder="Firstname">
                    <input id="lastname" name="lastname" type="text" class="form-control form-white" placeholder="Surname">
          <div class="dropdown">
                        <button id="dLabel" for="retreatseleted" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            Select Retreat:
                        </button>
                        <ul for="retreatseleted" class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
                            <li id="retreatseleted" name="retreatseleted" value="Clifftop Cottage" class="animated lightSpeedIn"><a href="#">Clifftop Cottage</a></li>
                            <li id="retreatseleted" name="retreatseleted" value="Cherry Trees" class="animated lightSpeedIn"><a href="#">Cherry Trees</a></li>
              <li id="retreatseleted" name="retreatseleted" value="The Beach House" class="animated lightSpeedIn"><a href="#">The Beach House</a></li>
                        </ul>
                    </div>
          <input id="fromdate" name="fromdate" type="date" class="form-control form-white" placeholder="From Date:">
          <input id="todate" name="todate" type="date" class="form-control form-white" placeholder="To Date:">
                    <div class="checkbox-holder text-left">
                        <div class="checkbox">
                            <input type="checkbox" value="None" id="squaredOne" name="check" />
                            <label for="squaredOne"><span>I Agree to the <strong>Terms &amp; Conditions</strong></span></label>
                        </div>
                    </div>
                    <button type="submit" value="Submit" class="btn btn-submit">Submit</button>
                    </fieldset>
                </form>

我的 php 代码是:

ob_start();
session_start();

include("connectdb.php");

unset($_SESSION['error']);

  if (!empty($_POST)
   && !empty($_POST['email'])
   && !empty($_POST['firstname'])
   && !empty($_POST['lastname'])
   && !empty($_POST['retreatselected'])
   && !empty($_POST['fromdate'])
   && !empty($_POST['todate'])) {

    $email = $_POST['email'];
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $retreatselected = $_POST['retreatseleted'];
    $fromdate = $_POST['fromdate'];
    $todate = $_POST['todate'];

    $query = "SELECT COUNT(*) AS count FROM bookings WHERE fromdate = '".$fromdate."' and retreatselected = '".$retreatselected."'";
    $result = $db->query($query);
    $data = $result->fetch_assoc();


    if ($data['count'] > 0) {

      $_SESSION['error'] = "Unfortunately this date has already been taken at $retreatselected.";
      header("location: index.php");


    } else {


      $query = "INSERT INTO bookings (email, firstname, lastname, retreatselected, fromdate, todate)
                VALUES ('".$email."','".$firstname."','".$lastname."','".$retreatselected."','".$fromdate."','".$todate."')";
      "</p>";


      $result = $db->query($query);


      if ($result) {

        $_SESSION['thankyou'] = "Thank you for booking $retreatselected. You will receive a confirmation email shortly.";
            header("location: index.php");

      } else {
          echo "SQL Error: " . $db->error;
      }
    }
  }
?>

当我取出下拉列表和“retreatselected”变量时,它工作得很好。我的数据库中有一个用于撤退选择的列,我希望用户选择的值出现在数据库中。

我很确定这是一个简单的 id=/name=/value= 更正,但我会疯狂地尝试每一种可能性!

非常感谢任何帮助:)

最佳答案

要保持任何 HTML 表单元素的 twitter bootstrap 样式,您必须为其指定“form-control”类。这适用于:

  • 输入(文本)
  • 输入(密码)
  • 输入( radio )
  • 输入(复选框)
  • 选择
  • 文本区域

因此,要遵循 Rigg 的答案,您应该使用:

Select Retreat:
<select name="retreatseleted" id="retreatseleted" class="form-control">
    <option value="Clifftop Cottage">Clifftop Cottage</option>
    <option value="Cherry Tree">Cherry Trees</option>
    <option value="The Beach House">The Beach House</option>
</select>

希望这有帮助!

关于php - 使用 php 和 MySql 的 html 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36666572/

相关文章:

php - CodeIgniter flashdata 重定向后不工作

javascript - 如何将地址与 Google Map 动态集成?

python - 在for循环中更改django表单的ID

html - 仅指定 img 元素的宽度或高度

php - Laravel,从末尾选择数据库,但按升序排列

javascript - 使用 javascript 从数据库中删除

php - 一般错误 : 20003 Adaptive Server connection timed out [20003] (severity 6)

javascript - 单击 HighCharts 时显示数据库中的信息

php - 使 is_purchasable Hook 与 Woocommerce 中的变体和产品标签一起使用

php - PHP 网站上的恶意软件,指的是 clck.ru