Php 尝试通过id将联合搜索查询链接到源时,联合搜索查询没有结果输出
我的数据库中有4个表。我使用union搜索所有表以输出结果。它按预期工作,但是当我尝试识别源以将href链接添加到所需的输出页面时,我没有得到任何结果。我的代码如下 我尝试添加一个文本字符串。我试着在没有任何运气的情况下添加别名Php 尝试通过id将联合搜索查询链接到源时,联合搜索查询没有结果输出,php,mysqli,union,Php,Mysqli,Union,我的数据库中有4个表。我使用union搜索所有表以输出结果。它按预期工作,但是当我尝试识别源以将href链接添加到所需的输出页面时,我没有得到任何结果。我的代码如下 我尝试添加一个文本字符串。我试着在没有任何运气的情况下添加别名 <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); include'db.php'; if(!empty($_POST
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include'db.php';
if(!empty($_POST))
{
$aKeyword = explode(" ", $_POST['keyword']);
$query ="SELECT *,'articles' as source FROM tbl_articles WHERE name like '%" . $aKeyword[0] . "%'
UNION
SELECT *, 'tbl_album' as source FROM tbl_album WHERE name like '%" . $aKeyword[0] . "%'
UNION
SELECT *, 'tbl_gallery' as source FROM tbl_gallery WHERE gname like '%" . $aKeyword[0] . "%'
UNION
SELECT *, 'tbl_events' as source FROM tbl_events WHERE name like '%" . $aKeyword[0] . "%'";
for($i = 1; $i < count($aKeyword); $i++) {
if(!empty($aKeyword[$i])) {
$query .= " OR name like '%" . $aKeyword[$i] . "%'";
}
}
$result = $db->query($query);
echo "<br>You have searched for keywords: " . $_POST['keyword'];
if(mysqli_num_rows($result) > 0) {
$row_count=0;
echo "<br>Result Found: ";
While($row = $result->fetch_assoc()) {
$row_count++;
if($row == 'source')
echo "<p><a href='result1.php?artid=".$row["artid"]."'>".$row["name"]."</a></p>";
}
else if($row == 'source')
{
echo "<p><a href='result2.php?id=".$row["albumid"]."'>".$row["name"]."</a></p>";
}
else if($row =='source')
{
echo "<p><a href='result3.php?gid=".$row["gid"]."'>".$row["gname"]."</a></p>";
}
}
}
else {
echo "<br>Result Found: NONE";
}
}
?>
我需要将正确的ID传递到它们各自的结果页面,例如tbl_文章到results1.php,tbl_相册到results2.php,tbl_事件到results3.php等。当前运行查询时,我没有得到任何结果。我让它正常工作。由于union运算符合并了结果集,因此我无法使用其他列id名称。我需要使用第一个查询id名称,现在一切正常。$row将是一个包含行数据的数组,而不是字符串,因此我不确定
$row=='source
应该做什么。那些if
s是否应该更像if($row['source']=='tbl\u events')
?这就是我一直坚持的部分。如何识别表并将id作为href链接传递。我会给你一个建议,我现在就得到结果,但是我收到了以下错误通知:未定义索引:我们的代码没有显示索引id
,所以可能在其他地方,或者可能你有打字错误?谢谢@Jonnix的帮助