如何为SQLite数据库中的数据创建搜索功能?

时间:2020-05-11 14:06:58

标签: python php html sqlite search

我的PHP代码不起作用,因为我使用的是本地主机而不是主机服务器?或者可能是因为我未将标记放在HTML文件的head / body标记中?

嗨!

我将数据存储在SQLite数据库中,并尝试使用PHP让用户搜索这些数据并通过HTML查看它们。 我将以下YouTube视频作为教程进行了学习:https://youtu.be/PBLuP2JZcEg 但我无法使其工作。当我在搜索栏中输入某些内容(例如:new)并提交时,什么也没有发生,也没有显示搜索结果。 (除了网站链接之外,更改为“ http://127.0.0.1:5000/?search_problem=new&search_problem=”)

我为此很努力。如果您能帮助我,我将不胜感激。谢谢。

以下是我的代码和网站的一些屏幕截图,可以帮助您了解如何更好地帮助我:

-我的PHP代码(我在HTML文件中使用了PHP标记来放置这些代码):

<?php
sqlite_connect("blog_id", "problem_name","text") or die ("couldn't find relating problem");
sqlite_select_db("data.sqlite") or die ("couldn't find relating problem");
$output = "";

//collect
if(isset($_POST['search_problem'])){
   $search_problem_query = $_POST['search_problem'];
   $query = sqlite_query("SELECT * FROM blog_post WHERE problem_name LIKE '%$search_problem_query%' OR text LIKE '%$search_problem_query%' LIMIT 30") or die("couldn't find relating problem");
   $count = sqlite_num_rows($query);
   if ($count == 0){
      $output = "There was no matched problems";
   } else {
      while $row = sqlite_fetch_array($query){
          $problem_name = $row['problem_name'];
          $text= $row['text'];
          $id= $row['blog_id'];
          $output .= " '.$problem_name.' '.$text.' ";
      }
   }


}

?>

-然后我打印出稍后在HTML文件中找到的搜索结果或搜索结果:

<form class="form-inline my-2 my-lg-0 text-right">
      <input class="form-control mr-sm-2" type="search" placeholder="Search problem" aria-label="Search" name="search_problem">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
    <?php print("$output"); ?>


我的数据库名称是data.sqlite

My database name is data.sqlite

-我的数据表“ blog_post”代码:

class BlogPost(db.Model):
    __tablename__ = 'blog_post'
    users = db.relationship(User)

    blog_id = db.Column(db.Integer, primary_key=True)
    # blog_next = db.Column(blog_id()+1)
    user_id = db.Column(db.Integer,db.ForeignKey('users.id'), nullable=False) #users.id  is taken from the tablename(users) and id in its table
    date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)  #Automatically post the time of the post
    problem_name = db.Column(db.String(140), nullable=False)
    text = db.Column(db.Text, nullable=False)
    blog_image = db.Column(db.String(140), nullable=False, server_default='default_blog.jpg')


    def __init__(self, text, problem_name, user_id, blog_image):
        self.text = text
        self.problem_name = problem_name
        self.user_id = user_id
        self.blog_image = blog_image

同样,为了澄清,我的数据表“ blog_post”具有名为“ New life 3”的列“ problem_name”:

enter image description here

0 个答案:

没有答案