我做了一个循环,取自一个例如#test #top #travel
(来自变量)并在每个数组中拆分以显示与关键字匹配的所有结果,但查询仅向我显示最后一个键的结果,例如#travel
并且我想要显示对于每个键,查询与语句匹配。对不起,如果这是一个简单的问题,但我真的没有搜索......
//循环
$keywordArray = explode(' ', $keyword);
foreach ($keywordArray as $keywordArrayGo) {
echo $keywordArrayGo;
$sqlKeywordArray = "SELECT id, titlu, link, poza, alt, keywords, linknews FROM stiinta WHERE approved='1' AND replace(replace(replace(keywords, ',', ''), '-', ' '), ' ', '') LIKE concat('%', ? , '%') UNION SELECT id, titlu, link, poza, alt, keywords, linknews FROM travel WHERE approved='1' AND replace(replace(replace(keywords, ',', ''), '-', ''), ' ', '') LIKE concat('%', ? , '%') UNION SELECT id, titlu, link, poza, alt, keywords, linknews FROM natura WHERE approved='1' AND replace(replace(replace(keywords, ',', ''), '-', ''), ' ', '') LIKE concat('%', ? , '%') UNION SELECT id, titlu, link, poza, alt, keywords, linknews FROM travel WHERE approved='1' AND replace(replace(replace(keywords, ',', ''), '-', ''), ' ', '') LIKE concat('%', ? , '%') UNION SELECT id, titlu, link, poza, alt, keywords, linknews FROM lifestyle WHERE approved='1' AND replace(replace(replace(keywords, ',', ''), '-', ''), ' ', '') LIKE concat('%', ? , '%') LIMIT 10";
准备工作
$stmt = $con->prepare($sqlKeywordArray);
$stmt->bind_param("sssss", $keywordArrayGo, $keywordArrayGo, $keywordArrayGo, $keywordArrayGo, $keywordArrayGo);
$stmt->execute();
检查每个密钥的结果。
$stmt->store_result();
/* Get the number of rows */
$checkQuery = $stmt->num_rows;
echo "$keywordArrayGo : $checkQuery : QUERY care sa se potriveasca <br>";
if ($checkQuery == 0) {// verificare daca este vrun query
echo "<FONT color='red'><strong>NU SE POTRIVESTE NICIO INREGISTRARE.</strong><br></font>";
}
值为$checkQuery
,例如(#top #test #travel
)是(10 2 4
)
并使用explode()
$stmt->bind_result($idSearch, $titluKEY, $linkKEY, $pozaKEY, $altKEY, $keywordKEY, $linknewsKEY);//variabla pe care o vrei inlocuita prin bind_Result in loc de get_Result
$keywordArticleMatch ="";
while ($stmt->fetch()) {
// faci acelasi lucru fara $row trb sa fie in concordanta cu ceea ce este in SELECT column pentretu teste a href="/page-stiinta.php?pid='.$linkKEY.'"
$keywordArticleMatch .= '<div id="articol-content-more"><a href="/'.$linknewsKEY.'"><img src="/images/'.$pozaKEY.'.jpg"class="articol-content-more-image" alt="'.$altKEY.'"><p class="articol-content-more-title">'.$titluKEY.'</p></a><span><a class="articol-content-more-afla" href="/'.$linknewsKEY.'">Citește mai multe</a></span><span class="articol-content-more-fl"><div class="fb-share-button" data-layout="button_count" data-href="http://esticurios.ro/'.$linknewsKEY.'"></div></span></div><br>';
}
/* free results */
$stmt->free_result();
$stmt->close();
} //close the loop
问题是我只显示了值的最后一个键的结果AND我想让它显示为all键,而不仅仅是从最后一个键分割