PHP MYSQLI搜索查询使用数组作为参考

时间:2015-07-31 08:37:43

标签: php arrays mysqli

我知道我在这里的逻辑是残暴的,所以请耐心等待。本质上,当用户填写一个由3个输入框组成的表单(表示数据库中有3个不同的列)时,我想执行搜索,从填充的框中获取关键字并查找所有其他用户配置文件(构成第一个数据库表中包含至少X%初始用户输入框中关键字的名称,经验,梦想和个人资料图片。

我决定在数组中表示关键字,因为这是我在元素组织方面最熟悉的。使用此数组作为参考,搜索将扫描users表,查找其配置文件信息包含参考数组中X%关键字的任何用户。

阵列已经准备好了,但现在我需要指导我想完成任务的方式是否合适/有效。

编辑1:如果我不清楚,请原谅我,让我尝试一种更加脱节的方式来描绘任务。

  1. 用户填写3个独特的textarea盒子。
  2. 用户保存输入的数据,其中数据存储在数据库中(users表格具体)
  3. 用户转到“查找他人”页面
  4. 用户点击“查找”按钮
  5. 查询获取3个textareas的用户信息,单独过滤它们,然后将它们压缩成一个关键字数组。

    1. 另一个查询将搜索整个数据库,并显示其配置文件包含与数组中的关键字匹配的X%字词的其他用户的配置文件。
    2. 用户可在其个人资料信息中查看其他用户的个人资料。
  6. 包含关键字的数组:

    $compressed_array = array_merge($filtered1, $filtered2, $filtered3);
    

1 个答案:

答案 0 :(得分:1)

您可能想尝试稍微不同的方法 当用户创建他们的条目时,找到关键字并在匹配表中存储关键字与用户的关系 通过这种方式,您可以查询匹配表,这应该更快更容易查询 或者您使用全面的搜索平台,例如Solr,它或多或少都相同。

只要您处理大量记录,任何实时搜索用户表的尝试都会遇到严重的性能问题。