在mysql中使用文本而不是id选择多个表

在mysql中使用文本而不是id选择多个表,mysql,join,left-join,union,multiple-columns,Mysql,Join,Left Join,Union,Multiple Columns,我有三个表格-文章,stof,elementen。 文章表中是与stofid和elementid链接到stof和elementen表的所有文章 现在的问题是我需要在article表中进行搜索(使用AJAX),但是我不能使用elementid和stofid进行搜索,因为它们是id而不是文本 剧本: header("Cache-Control: no-cache, must-revalidate"); require('../config/db/db.inc.php'); $q = ant

我有三个表格-
文章
stof
elementen
。 文章表中是与
stofid
elementid
链接到
stof
elementen
表的所有文章

现在的问题是我需要在article表中进行搜索(使用AJAX),但是我不能使用
elementid
stofid
进行搜索,因为它们是id而不是文本

剧本:

    header("Cache-Control: no-cache, must-revalidate");

require('../config/db/db.inc.php');
$q = anti($_GET["q"]);
$result = mysql_query("SELECT * FROM article WHERE omschrijving LIKE '%".$q."%' AND visibile='1' OR id LIKE '".$q."%' AND visibile='1' OR aanvullend LIKE '".$q."%' AND visibile='1' OR inkoopomschrijving LIKE '%".$q."%' AND visibile='1' OR verkoopomschrijving LIKE '%".$q."%' AND visibile='1' ORDER BY inkoopomschrijving ASC");
    while($row = mysql_fetch_array($result)){
        $result_element = mysql_query("SELECT * FROM elementen WHERE id='".$row['elementid']."' ");
        while($row_element = mysql_fetch_array($result_element)){
            $element = $row_element['element'];
        }
        $result_stof = mysql_query("SELECT * FROM stof WHERE id='".$row['stofid']."' ");
        while($row_stof = mysql_fetch_array($result_stof)){
            $stof = $row_stof['stof'];
        }
        echo "<p style=\"margin:0.0em auto;\"><a href=\"./artikel.php?artikel_id=".$row['id']."\" title=\"". $row['omschrijving'] . ' ' . $element . ' ' . $stof . "\" style=\"color:black;\">" . $row['omschrijving'] . ' ' . $element . ' ' . $stof . '</a></p>';

}
标题(“缓存控制:无缓存,必须重新验证”);
需要('../config/db/db.inc.php');
$q=反($_GET[“q”]);
$result=mysql_query(“从文章中选择*,其中omschrijving类似“%”,$q.“%”和visibile='1'或id类似“.”,$q.“%”和visibile='1'或aanvullend类似“%”,$q.“%”和visibile='1'或verkoopomschrijving类似“%”,$q.“%”和visibile='1'由inkoopomschrijving ASC排序);
while($row=mysql\u fetch\u数组($result)){
$result_element=mysql_query(“SELECT*FROM elementen,其中id=””。$row['elementid'].“”);
while($row\u element=mysql\u fetch\u数组($result\u element)){
$element=$row_element['element'];
}
$result_stof=mysql_query(“SELECT*FROM stof,其中id=””。$row['stofid'].“”);
while($row\u stof=mysql\u fetch\u array($result\u stof)){
$stof=$row_stof['stof'];
}
echo“

”; }

您可以看到,我正在使用2个新的mysql查询来获取文本,而不是id,但我还想让它可以搜索全文。

我不明白。为什么您不能搜索id?id通常只是数字。数字实际上比字符串更容易搜索。它用于程序,用户搜索文章名,但我们有这么多的文章。如果你只在“Woonkamer Okso”上搜索,你会得到大约200篇文章,因此他们需要搜索文章+元素+1个字段的可能性,但最后2个字段是ID而不是tekst。因此查询需要从另一个带有文章表中ID的表中获取tekst。