2016-05-12 3 views
-2

サイト内で次のコードを使用して検索しています。結果が返されないときに「結果が見つかりません」というメッセージを表示したいchangings .What私はコード内で行う必要がありますクエリが結果を返さないときにメッセージ「結果が見つかりません」を表示したい

HTMLは次のとおりです。

<div class="form-container"> 
    <form method="get" action="search.php"> 
     <input type="text" name="search" placeholder="Search keywords..."/> 
     <input type="submit" name="find" value=""> 
    </form> 
    </div> 

PHPは次のとおりです。

<?php 
if(isset($_GET['find'])){ 
$search = @$_GET['search']; 
$query = "SELECT * FROM `me` WHERE `post_title` LIKE '%$search%'"; 
$run = mysqli_query($con,$query); 
while($row=mysqli_fetch_assoc($run)): 
    $post_id = $row['post_id']; 
    $post_category = $row['post_category']; 
    $post_author = $row['post_author']; 
    $post_title = $row['post_title']; 
    $post_content = substr($row['post_content'],0,700); 
    $post_video = $row['post_video']; 
    $post_misc = $row['post_misc']; 
    $post_image = $row['post_image']; 
    $post_date = $row['post_date']; 
?> 


    <a class="post_title" href="complete_post.php?complete1=<?php echo $post_id; ?>"> 
    <?php echo $post_title; ?> 
    </a> 
    <p style="color:#949494; font-family:calibri; text-align:justify; margin-left:8px; width:700px; font-size:15pt; float:left;"> 
    <span style="float:left; font-size:9pt; font-family:arial; color:#959595;"> 
    By <b><?php echo $post_author; ?></b> on <b><?php echo $post_date; ?></b> in 
    <b><?php echo $post_category; ?></b> 
    </span> 
    </br> 
    <?php echo $post_content; ?>... 
    </p> 
    <a href="complete_post.php?complete=<?php echo $post_id; ?>" class="r-m"> 
    Read more.. 
    </a> 
<?php endwhile; } ?> 
+0

すべてが「if」になります。 –

+0

単純な古い平易な条件if(){} – datelligence

+1

**警告**: '@ '演算子でメソッドを呼び出すときにエラーを抑制しないでください。何かが間違っていたら、それについて知りたいし、是正措置を講じるか、ユーザーに役立つメッセージを表示するか、問題を記録するか、それ以上のことをする必要があります。 – tadman

答えて

0

はあなた前if -conditionを追加します。-loop

$run = mysqli_query($con,$query); 
if (! empty($run) && (! empty($_GET['search']))) { 
    while($row=mysqli_fetch_assoc($run)): 
    // your while code 
    endwhile; 
} else { 
    echo "Nothing Found"; 
} 
+0

私は試みましたが、これは空の値が検索されたときにすべての投稿を返します –

+0

あなたの質問は空の検索結果に言及しています。どちらをトリガーしたいですか? – RST

+0

検索フィールドが空で、送信ボタンをクリックすると、ページにすべての投稿が表示されます。 –

0

num_rows関数は、クエリによってフェッチされた行の数を返します。これはそれを行う必要があります。

<?php 
if(isset($_GET['find'])){ 
$search = @$_GET['search']; 
$query = "SELECT * FROM `me` WHERE `post_title` LIKE '%$search%'"; 
$run = mysqli_query($con,$query); 
if($run->num_rows != 0){ 
while($row=mysqli_fetch_assoc($run)): 
    $post_id = $row['post_id']; 
    $post_category = $row['post_category']; 
    $post_author = $row['post_author']; 
    $post_title = $row['post_title']; 
    $post_content = substr($row['post_content'],0,700); 
    $post_video = $row['post_video']; 
    $post_misc = $row['post_misc']; 
    $post_image = $row['post_image']; 
    $post_date = $row['post_date']; 
?> 


    <a class="post_title" href="complete_post.php?complete1=<?php echo $post_id; ?>"> 
    <?php echo $post_title; ?> 
    </a> 
    <p style="color:#949494; font-family:calibri; text-align:justify; margin-left:8px; width:700px; font-size:15pt; float:left;"> 
    <span style="float:left; font-size:9pt; font-family:arial; color:#959595;"> 
    By <b><?php echo $post_author; ?></b> on <b><?php echo $post_date; ?></b> in 
    <b><?php echo $post_category; ?></b> 
    </span> 
    </br> 
    <?php echo $post_content; ?>... 
    </p> 
    <a href="complete_post.php?complete=<?php echo $post_id; ?>" class="r-m"> 
    Read more.. 
    </a> 
<?php endwhile; 
} else { ?> 
<p>There are no results to display.</p> 
<?php } 
} ?> 
+0

コード@ ShoeLace1291の最後の4行を理解できません。 –

関連する問題