2016-07-08 7 views
-2

検索結果が0になったときにメッセージを表示しようとしています。私はそれを行ういくつかの異なる方法を試みたが、何も動作しません。私は常に空白のページを取得したり、検索結果が見つかった場合でもメッセージを表示したりできます。mysqli_fetch_assocで「結果が見つかりません」を表示するには?

コードは:

$post = $_POST; 

if (isset($post['Kohderyhmä']) && 
    isset($post['Näytön_aste']) && 
    isset($post['Vaikutusten_vahvuus']) && 
    isset($post['Käyttökelpoisuus'])) 
{ 
    $Kohderyhmä = $post['Kohderyhmä']; 
    $Näytön_aste = $post['Näytön_aste']; 
    $Vaikutusten_vahvuus = $post['Vaikutusten_vahvuus']; 
    $Käyttökelpoisuus = $post['Käyttökelpoisuus']; 
} 
else 
{ 
    echo '<!-- Virhe -->'; /*die ('<h2>Ei hakutermi&auml; sy&ouml;tetty. <a href="/haku">Avaa haku</a></h2>');*/ 
} 

$count = 0; 
$and = ""; 
$query = ""; 

if (!empty($Kohderyhmä) && $Kohderyhmä !="Kaikki") { 
    if ($count > 0) { 
    $and = " AND "; 
    } 
    $count++; 
    $query = $query.$and."`Kohderyhmä` LIKE '%".$Kohderyhmä."%'"; 
} 
if (!empty($Näytön_aste) && $Näytön_aste !="Kaikki") { 
    if ($count > 0) { $and = " AND "; } 
    $count++; 
    $query = $query.$and."`Näytön aste` LIKE '%".$Näytön_aste."%'"; 
} 
if (!empty($Vaikutusten_vahvuus) && $Vaikutusten_vahvuus !="Kaikki") { 
    if ($count > 0) { $and = " AND "; } 
    $count++; 
    $query = $query.$and."`Vaikutusten vahvuus` LIKE  '%".$Vaikutusten_vahvuus."%'"; 
} 
if (!empty($Käyttökelpoisuus) && $Käyttökelpoisuus !="Kaikki") { 
    if ($count > 0) { $and = " AND "; } 
    $count++; 
    $query = $query.$and."`Käyttökelpoisuus` LIKE '%".$Käyttökelpoisuus ."%'"; 
} 
if ($count > 0) { 
    $query = "SELECT * FROM `tietokanta` WHERE ".$query; 
    } else { 
    $query = "SELECT * FROM `tietokanta`";  
    } 
//echo $query; 


if ($results = $conn->query($query)) { 
while ($row = $results->fetch_assoc()) { 
echo '<h3><a href="/hae?työmenetelmä=' . $row['nro'] . '">' . $row['Nimi'] . '</a></h3>'; 
echo $row['Kokonaisarvio'] ."<br /><br />"; 
echo $row['Kuvaus'] ."<br /><br />"; 

    } 
    } else { 
    echo '<h2>Haku ei tuottanut yhtään tulosta. Muuta hakuehtoja ja hae  uudestaan.</h2>'; 
} 
+0

あなたの '$ query'も共有していますか? – C2486

答えて

-8

にあなたのコードを変更するかどうか、常にポジティブではないことをmysqli_queryのマニュアルページで読むことができます言うまでもありません

$results = $conn->query($query);  

if ($results->num_rows >= 1){ 
    while ($row = $results->fetch_assoc()) { 
     echo '<h3><a href="/hae?työmenetelmä=' . $row['nro'] . '">' . $row['Nimi'] . '</a></h3>'; 
     echo $row['Kokonaisarvio'] ."<br /><br />"; 
     echo $row['Kuvaus'] ."<br /><br />"; 
    } 
} 
else{ 
    echo '<h2>Haku ei tuottanut yhtään tulosta. Muuta hakuehtoja ja hae uudestaan.</h2>'; 
} 
-4

私はチュートリアルとインターネットとphp.netページから他のヒントを見つけることを試みたが、私は実用的なソリューションを見つけることができません。

この質問は毎週尋ねられるので、これは非常に奇妙です。あなたはこの関数の戻り値は関係なく、それが何かを発見されたかどうか

は、この次のコードを試してみてください。この

if ($results = $conn->query($query)->fetch_all()) { 
    foreach ($results as $row) { 
     echo '<h3><a href="/hae?työmenetelmä=' . $row['nro'] . '">' . $row['Nimi'] . '</a></h3>'; 
     echo $row['Kokonaisarvio'] ."<br /><br />"; 
     echo $row['Kuvaus'] ."<br /><br />"; 

     } 
} else { 
    echo '<h2>Haku ei tuottanut yhtään tulosta. Muuta hakuehtoja ja hae uudestaan.</h2>'; 
} 
+0

これは、検索結果に関係なく、ページを空白にします。 – Jonza

関連する問題