Php 使用第二个表中的条件生成MySQL查询
我试图构建一个查询,根据category列中的特定类别从表提要中选择数据。 我还有第二个表,其中列出了查询还应考虑的备选类别。我不知道如何将其合并到下面的代码中 例如: 如果$category='sports',下面的当前查询将选择类别与'sports'匹配的所有数据。 第二个表格列出了“体育”类的备选类别“足球”和“拜仁慕尼黑”。 新的查询现在应该选择类别匹配“体育”、“足球”和“拜仁慕尼黑”的所有数据Php 使用第二个表中的条件生成MySQL查询,php,mysql,mysqli,Php,Mysql,Mysqli,我试图构建一个查询,根据category列中的特定类别从表提要中选择数据。 我还有第二个表,其中列出了查询还应考虑的备选类别。我不知道如何将其合并到下面的代码中 例如: 如果$category='sports',下面的当前查询将选择类别与'sports'匹配的所有数据。 第二个表格列出了“体育”类的备选类别“足球”和“拜仁慕尼黑”。 新的查询现在应该选择类别匹配“体育”、“足球”和“拜仁慕尼黑”的所有数据 $sqlCommand = "SELECT * FROM feeds where cate
$sqlCommand = "SELECT * FROM feeds where category like '$category'";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());
While ($row = mysqli_fetch_array($query)) {
$fid1 = $row["id"];
$feed_id1 = $row["feed_id"];
$link1 = $row["link"];
$title1 = $row["title"];
$output .= '<a href="detail/' . $fid1 . '" title="' . $title1 . '">' . $title1 . '</a><br/>';
}
mysqli_free_result($query);
echo $output;
$sqlCommand=“从feed中选择*类别,如“$category”;
$query=mysqli_query($myConnection,$sqlCommand)或die(mysqli_error());
而($row=mysqli_fetch_数组($query)){
$fid1=$row[“id”];
$feed_id 1=$row[“feed_id”];
$link1=$row[“link”];
$title1=$row[“title”];
$output.='
';
}
mysqli_free_结果($query);
echo$输出;
也许这样做可以:
CREATE TABLE data (data integer, category varchar(40));
INSERT INTO data (data, category) VALUES (10, "sport");
INSERT INTO data (data, category) VALUES (20, "soccer");
INSERT INTO data (data, category) VALUES (30, "programming");
INSERT INTO data (data, category) VALUES (40, "Bayern Munich");
CREATE TABLE category_lookup (category1 varchar(40), category2 varchar(40));
INSERT INTO category_lookup (category1, category2) VALUES ("sport", "Bayern Munich");
INSERT INTO category_lookup (category1, category2) VALUES ("sport", "soccer");
INSERT INTO category_lookup (category1, category2) VALUES ("programming", "java");
查询:
SELECT * FROM data WHERE category IN (
SELECT "sport" UNION
SELECT category2 FROM category_lookup WHERE category1 LIKE "sport");
请参阅SQL Fiddle:
如果在类别_查找表中添加一个条目进行自查找:
INSERT INTO category_lookup (category1, category2) VALUES ("sport", "sport");
当然,你可以在查询中去掉工会。你让我开心了。