如何在数组循环后显示每个键的所有查询

时间:2016-12-07 18:04:02

标签: php mysql arrays foreach

我做了一个循环,取自一个例如#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键,而不仅仅是从最后一个键分割

0 个答案:

没有答案