【问题标题】:SELECT data via array from different tables in mysql通过数组从mysql中的不同表中选择数据
【发布时间】:2013-12-12 20:56:08
【问题描述】:

大家好,我在这里发现了一些类似的问题,但对我没有任何帮助,也许有人可以帮助我。 我有几个过滤器,用户可以在其中按属性列出其他用户,例如在约会网站中。我想向用户显示用户选择的过滤器中的成员。我将关键字存储在一个数组中,现在想从两个不同的表中获取数据。 目前我使用这个查询,但它只显示一个表中的值

$sql = "SELECT * FROM users WHERE username IN ($data) AND country IN ($data) OR city IN ($data) OR gender IN ($data)";  

我需要从另一个表中获取更多属性,如吸烟者或非吸烟者等。我将如何使用此数组 ($data) 执行此操作。抱歉英语不好

表一是包含id、用户名、性别、国家的用户 另一个表称为属性,其中包含 id、userid、hobbies、jobs 我需要以某种方式加入它们

【问题讨论】:

  • 向我们展示您的其他表格和列,这样会更容易。
  • $data 的值是多少?
  • $data 的值取决于用户的选择,例如 france,footbal,male,......,....... 或者只是 football,male 用户应该找人根据他的搜索结果
  • 如果你需要帮助,写下你所有的 php 代码。
  • 感谢它现在可以根据您的代码进行一些修改谢谢

标签: php mysql sql arrays


【解决方案1】:

在他们的“链接”列上使用JOIN

$sql  = " SELECT u.username, u.country  ";
$sql .= " FROM users u ";
$sql .= " LEFT OUTER JOIN other_table t ON u.id = t.id";
$sql .= " WHERE username IN ($data) AND country IN ($data) OR city IN ($data) OR gender IN ($data)"; 

MySQL documentation.

【讨论】:

  • 感谢您的快速回复,但我得到的只是警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值在...中给出...我编辑我的问题。还是谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 2016-07-14
  • 2016-12-10
  • 2014-08-06
  • 1970-01-01
  • 2019-02-09
相关资源
最近更新 更多