PHP和SQL-搜索联接表并获得单个结果
我使用的SQL代码:PHP和SQL-搜索联接表并获得单个结果,php,mysql,sql,search,phpmyadmin,Php,Mysql,Sql,Search,Phpmyadmin,我使用的SQL代码: SELECT band.bands, udgivelser.udgivelser, numre.numre FROM diskografi AS diskografi INNER JOIN band AS band ON diskografi.FKband = band.id INNER JOIN udgivelser AS udgivelser ON diskografi.FKudgivelser = udgivelser.id INNER JOIN numre A
SELECT band.bands, udgivelser.udgivelser, numre.numre
FROM diskografi
AS diskografi
INNER JOIN band
AS band
ON diskografi.FKband = band.id
INNER JOIN udgivelser
AS udgivelser
ON diskografi.FKudgivelser = udgivelser.id
INNER JOIN numre
AS numre
ON diskografi.FKnumre = numre.id
给我下表:
bands | udgivelser | numre
---------+-------------+---------
Muse | Showbiz | Sunburn
Muse | Showbiz | Muscle Museum
etc.
我为搜索函数使用了以下PHP代码:
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$query = mysql_query("SQL FROM ABOVE INSERTED HERE
WHERE band.bands
LIKE '%$searchq%'")
or die("fejl i søgning!");
$count = mysql_num_rows($query);
if($count == 0){
$output == 'Der var ingen søgeresultater!';
}else{
while($row = mysql_fetch_array($query)){
$fband = $row['bands'];
$id = $row['ID'];
$output .= '<div> '.$fband.' </div>';
好吧,不是一个修复,而是一个解释;看起来你的问题可能是你在
@JoachimIsaksson的群组之后添加了一个WHERE
,这至少让我能够搜索。非常感谢。如果您想要搜索udgivelser
和numre
,您只需要使用类似或udgivelser的内容扩展where子句。像“%$searchq%”
。我不知道你的数据库有多大——这可能有点离题,但试着获取更多关于SolR和Lucine Search的信息:)@Jurik这是一个学校项目,所以我尽可能从零开始。或
语句起作用了,所以谢谢。好吧,than SolR和Lucine Search会有点过于工程化;)
SQL FROM ABOVE INSERTED HERE
WHERE band.bands
LIKE '%$searchq%'
GROUP BY band.bands