如何获取HTML表单以查询和生成Mysql datebase的结果

use*_*520 5 php mysql database forms

我创建了一个包含一个文本字段和一个选择框的表单,我还创建了一个按钮.现在我想要发生的是当按下按钮时我希望表单中的字符串与我的数据库匹配,然后我希望返回这些匹配的结果并显示在屏幕上.

例如,如果我在我的文本字段框中键入"历史记录",并且当按下按钮(提交按钮)时我也从我的选择框中选择了"级别2",我希望在页面上返回与该字匹配的所有内容历史记录和我的数据库中第2级的选择.

我知道我必须通过PHP将我的页面连接到我的数据库并且我已经成功地完成了这项工作,但我不明白的是如何让我的HTML表单查询数据库并将结果提供回屏幕

对于一个与我想要创建的概念非常相似的示例网站,请看一下这个网页.http://search.ucas.com/cgi-bin/hsrun/search/search/search.hjx;start=search.HsSearch.run?y=2013&w=H(UCAS课程搜索)这个网站有多个文本字段并选择完全按照我要创建的框和提交按钮,提供的结果只是与搜索内容匹配的结果.

以下代码的工作方式是将我的文本字段链接到我的数据库,但我无法获取我的文本字段和我的选择框来链接和查询数据库,只有一个或另一个.我希望他们都可以从同一个按钮(搜索按钮)工作

<form  method="post" action="Webpage here"  id="searchform">
  <input  type="text" name="name">
  <input  type="submit" name="submit" value="Search">
</form>
<form id="form1" name="ExamBoard" method="post" action="Webpage here">
  <label for="select"></label>
  <select name="ExamBoard" id="select">
    <option value="EB1" selected="selected">EB1</option>
    <option value="EB2">EB2</option>
    <option value="EB3">EB3</option>
  </select>
  <input  type="submit" name="submit" value="Search">
</form>
<p>&nbsp;</p>
<p>
<?php
 if(isset($_POST['submit'])){
 if(isset($_GET['go'])){
 if(preg_match("/^[  a-zA-Z]+/", $_POST['name'])){
 $name=$_POST['name'];
  //connect  to the database
 $db=mysql_connect  ("Name", "User",  "Password*") or die ('I cannot connect to the      database  because: ' . mysql_error());
 //-select  the database to use
 $mydb=mysql_select_db("Table Name");
  //-query  the database table
  $sql="SELECT  ID, CourseName, ExamBoard FROM subjects WHERE CourseName LIKE '%" . $name .  "%' ";
   //-run  the query against the mysql query function
   $result=mysql_query($sql);
    //-create  while loop and loop through result set
    while($row=mysql_fetch_array($result)){
      $CourseName  =$row['CourseName'];
      $ID=$row['ID'];
      $ExamBoard=$row['ExamBoard'];
  //-display the result of the array
  echo "<ul>\n";
  echo "<li>" . "<a  href=\"search.php?id=$ID\">"   .$CourseName . " " .  "</a></li>\n" ;
  echo  $ExamBoard . " " .  "</a>\n";
  echo "</ul>";
  }
  }
  }
  }
  ?>
Run Code Online (Sandbox Code Playgroud)

小智 0

你必须问自己你想用 AJAX 还是用正常的屏幕刷新来做到这一点。

正常屏幕刷新(简单的方法)

将 HTML 放入一个文件 (HTMLfile.html) 将 PHP 放入另一个文件 (PHPCode.php)

HTML 文件形式从action 属性调用PHP 脚本。

PHP 文件呈现响应。

不要混搭视图和控制应用程序。

如果您想使用 AJAX,还有其他方法可以在一个脚本中执行此操作。