当前位置: 首页 > 面试题库 >

在PHP中创建搜索表单以搜索数据库?

高运诚
2023-03-14
问题内容

我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。该数据库具有许多变量,包括大小,名称,类型和肉类。我需要创建一个搜索表单,用户可以在其中使用多种不同的搜索进行搜索(例如搜索50厘米长的盖子托盘)。

我花了整整一天的时间来尝试创建一些PHP代码,这些代码可以在我创建的测试数据库中搜索信息。我遇到了许多错误,从mysql_fetch_array错误,布尔错误到现在,我目前的最新错误是我的表似乎不存在。尽管我可以在其中输入数据(可以在其中输入数据的html和php页面),但是我不知道是什么原因造成的,所以我现在又开始了几次。

谁能给我一些我目前要做什么的想法或提示?这只是我进入实际站点SQL数据库之前的小测试。

创建数据库:

 <body>
  <?php
     $con = mysql_connect("localhost", "root", "");
      if (!$con)
     {
      die('Could not connect: ' . mysql_error());
     }
      if (mysql_query("CREATE DATABASE db_test", $con))
     {
  echo "Database created";
     }
      else
    {
  echo "Error creating database: " . mysql_error();
    }


  mysql_select_db("db_test", $con);
  $sql = "CREATE TABLE Liam
   ( 
  Code varchar (30),
  Description varchar (30),
  Category varchar (30),
  CutSize varchar (30),
   )";

 mysql_query($sql, $con);
     mysql_close($con);
 ?> 
   </body>

HTML搜索表单页面:

<body>

      <form action="form.php" method="post">
        Search: <input type="text" name="term" /><br />
      <input type="submit" name="submit" value="Submit" />
      </form>

</body>

我用来尝试从数据库中收集信息的PHP代码 (我已经重写了几次,此代码还显示“ table.liam不存在”)

  <body>
   <?php
 $con = mysql_connect ("localhost", "root", "");
 mysql_select_db ("db_test", $con);

  if (!$con)
    { 
    die ("Could not connect: " . mysql_error());
    } 
    $sql = mysql_query("SELECT * FROM Liam WHERE Description LIKE '%term%'") or die
        (mysql_error());

       while ($row = mysql_fetch_array($sql)){
    echo 'Primary key: ' .$row['PRIMARYKEY'];
    echo '<br /> Code: ' .$row['Code'];
    echo '<br /> Description: '.$row['Description'];
    echo '<br /> Category: '.$row['Category'];
    echo '<br /> Cut Size: '.$row['CutSize']; 
  }

  mysql_close($con)
   ?>
     </body>

如果有人有任何见解或可以帮助我,我将非常感谢!提前致谢。


问题答案:

试试看让我知道会发生什么。

形成:

<form action="form.php" method="post"> 
Search: <input type="text" name="term" /><br /> 
<input type="submit" value="Submit" /> 
</form>

Form.php:

$term = mysql_real_escape_string($_REQUEST['term']);

$sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'";
$r_query = mysql_query($sql);

while ($row = mysql_fetch_array($r_query)){ 
echo 'Primary key: ' .$row['PRIMARYKEY']; 
echo '<br /> Code: ' .$row['Code']; 
echo '<br /> Description: '.$row['Description']; 
echo '<br /> Category: '.$row['Category']; 
echo '<br /> Cut Size: '.$row['CutSize'];  
}

编辑:清理多一点。

Final Cut(我的测试文件):

<?php
$db_hostname = 'localhost';
$db_username = 'demo';
$db_password = 'demo';
$db_database = 'demo';

// Database Connection String
$con = mysql_connect($db_hostname,$db_username,$db_password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db($db_database, $con);
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
<form action="" method="post">  
Search: <input type="text" name="term" /><br />  
<input type="submit" value="Submit" />  
</form>  
<?php
if (!empty($_REQUEST['term'])) {

$term = mysql_real_escape_string($_REQUEST['term']);

$sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'"; 
$r_query = mysql_query($sql);

while ($row = mysql_fetch_array($r_query)){  
echo 'Primary key: ' .$row['PRIMARYKEY'];  
echo '<br /> Code: ' .$row['Code'];  
echo '<br /> Description: '.$row['Description'];  
echo '<br /> Category: '.$row['Category'];  
echo '<br /> Cut Size: '.$row['CutSize'];   
}

}
?>
    </body>
</html>


 类似资料:
  • 我需要在搜索表单下显示一个自定义的“资产管理搜索轨道”。我创建了一个覆盖到“/libs/dam/gui/content/facets”的覆盖层,并且能够编辑显示在资产搜索方面的字段。 现在,当作者在“我的项目”文件夹(/content/dam/myapps)中搜索时,与从其他文件夹(/content/dam)中搜索相比,刻面项需要是不同的列表 如何创建一个类似于现有的“资产管理搜索栏”的新“资产管

  • 我有大量相同类型的实体,每个实体都有大量属性,并且我只有以下两种选择来存储它们: 将每个项存储在索引中并执行多索引搜索 将所有enties存储在单个索引中,并且只搜索1个索引。 一般而言,我想要一个时间复杂度之间的比较搜索“N”实体与“M”特征在上述每一种情况!

  • 问题内容: 我正在为基于php的网站创建一个搜索引擎。我需要搜索一个mysql表。 事实是,搜索引擎必须非常“智能”,以便用户可以轻松找到他们的商品(这是一个分类网站)。 我目前已使用以下代码设置了FULLTEXT搜索: 但这还不够… 例如,假设该字段包含类似的内容。如果我搜索,我将不会得到任何结果。尾数(’ci’)只是汽车型号中许多尾数之一,在搜索表时必须将其考虑在内。 或者,如果该字段是什么?

  • 我使用以下代码创建了一个数据表:- 主要的php-它包含调用数据表的脚本和从sql数据库获取数据的php脚本 和dtServerSideBasicScript。php-它是从sql server获取数据的脚本:- 现在,我必须应用数据表上方的Advanced filter部分,它可以是由以下字段组成的表单-姓名输入、年龄范围输入和性别选择输入字段。提交此表格时,相关搜索结果应显示在数据表中。

  • 6.6.1.Query (查询) 原型:function Query ( $query, $index="*", $comment="" ) 连接到searchd服务器,根据服务器的当前设置执行给定的查询,取得并返回结果集。 $query是查询字串,$index是包含一个或多个索引名的字符串。一旦发生一般错误,则返回假并设置GetLastError()信息。若成功则返回搜索的结果集。 此外,$co

  • 我是弹性搜索的新手,我正在尝试使用下面的映射创建索引,我在网上找到了这些映射,并使用kibana作为我的客户机,它抛出错误。 “类型”:“映射程序解析异常”,“原因”:“根映射定义有不受支持的参数:[local_test:{u all={enabled=false},properties={amount={type=long},user_id={type=keyword},recurtive={t