在PHP中创建搜索表单以搜索数据库? [英] Creating a search form in PHP to search a database?

查看:195
本文介绍了在PHP中创建搜索表单以搜索数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我花了一整天试图创建一些PHP代码,可以在我创建的测试数据库中搜索信息。我有许多数量的错误范围从mysql_fetch_array错误,布尔错误,现在我最近的错误是,我的表似乎不存在。虽然我可以输入数据(html和php页面,我可以输入数据),我不知道是什么导致这一点,我已经开始了几次现在。



任何人都可以给我一些想法或提示,我现在要做什么?这里只是我移动到实际站点SQL数据库之前的我的小测试。



$ b

创建数据库:

< body>
<?php
$ con = mysql_connect(localhost,root,);
if(!$ con)
{
die('Could not connect:'。mysql_error());
}
if(mysql_query(CREATE DATABASE db_test,$ con))
{
echoDatabase created;
}
else
{
echo创建数据库时出错:。 mysql_error();
}


mysql_select_db(db_test,$ con);
$ sql =CREATE TABLE Liam

代码varchar(30),
描述varchar(30),
类别varchar(30),
CutSize varchar(30),
);

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

HTML搜索表单页:

 < body> 

< form action =form.phpmethod =post>
搜索:< input type =textname =term/>< br />
< input type =submitname =submitvalue =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描述LIKE'%term%')或die
(mysql_error());

while($ row = mysql_fetch_array($ sql)){
echo'主键:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}

mysql_close($ con)
?>
< / body>

如果任何人有任何洞察力或可以帮助我,我会非常感激!提前感谢。

解决方案

尝试一下,让我知道会发生什么。



表单:

 < form action =form.phpmethod =post> 
搜索:< input type =textname =term/>< br />
< input type =submitvalue =Submit/>
< / form>

Form.php:

  $ term = mysql_real_escape_string($ _ REQUEST ['term']); 

$ sql =SELECT * FROM liam WHERE说明LIKE'%。$ term。%';
$ r_query = mysql_query($ sql);

while($ row = mysql_fetch_array($ r_query)){
echo'Primary key:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}

编辑:再清理一次。



Final Cut(我的测试档案):

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

//数据库连接字符串
$ 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>
搜索:< input type =textname =term/>< br />
< input type =submitvalue =Submit/>
< / form>
<?php
if(!empty($ _ REQUEST ['term'])){

$ term = mysql_real_escape_string($ _ REQUEST ['term']);

$ sql =SELECT * FROM liam WHERE说明LIKE'%。$ term。%';
$ r_query = mysql_query($ sql);

while($ row = mysql_fetch_array($ r_query)){
echo'Primary key:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}

}
?>
< / body>
< / html>


I am currently trying to complete a project where the specifications are to use a search form to search through a packaging database. The database has lots of variables ranging from Sizes, names, types and meats. I need to create a search form where users can search using a number of different searches (such as searching for a lid tray that is 50 cm long).

I have spent all day trying to create some PHP code that can search for info within a test database I created. I have had numerous amounts of errors ranging from mysql_fetch_array errors, boolean errors and now currently my latest error is that my table doesn't seem to exist. Although i can enter data into it (html and php pages where I can enter data), I don't know what is causing this and I have started again a few times now.

Can anyone give me some idea or tips of what I am going to have to do currently? Here is just my small tests at the moment before I move onto the actual sites SQL database.

Creation of database:

 <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 search form page:

<body>

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

</body>

The PHP code I am using to attempt to gather info from the database (I have rewritten this a few times, this code also displays the "table.liam doesn't exist")

  <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>

If anyone has any insight or can help me with this I would be very grateful! Thanks in advance.

解决方案

try this out let me know what happens.

Form:

<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'];  
} 

Edit: Cleaned it up a little more.

Final Cut (my test file):

<?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>

这篇关于在PHP中创建搜索表单以搜索数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆