php - 当通过 PHP 查询时 mysql 数据库中没有结果时,是否可以排除 HTML 输出

标签 php html mysql

简而言之,我有一个 PHP 输出(代码只是一部分),在网页上显示时需要超链接,但问题是,当没有结果时,它会超链接一个空白 URL。如果执行搜索时没有结果,是否有办法不显示 HTML?

为了澄清,我需要将其应用于输出的多个部分。

这是代码的具体部分。

if(isset($_POST['search'])) {

$searchq = $_POST ['search'];
$query = mysql_query ("SELECT * FROM HH_list2 WHERE Company LIKE '%$searchq%'") or die ("could not search"); //OT TO HERE !!!!!
$count = mysql_num_rows($query);
if ($count == 0) {
    $output = 'Sorry but we did not find anything';
    }else{
        while($row = mysql_fetch_array($query)) {
            $Company = $row ['Company'];
            $Twitter_ID = $row ['Twitter_ID'];
            $Online_chat = $row ['Online_chat'];
            $Online_form = $row ['Online_form'];
            $Email_1 = $row ['Email_1'];
            $Email_2 = $row ['Email_2'];
            $Email_3 = $row ['Email_3'];

            $output .= '<div style="background-color:#ebebeb; padding: 2em;"> <h3>'.$Company.' </h3><br/> Twitter: <a href="http://www.twitter.com/'.$Twitter_ID.'" target="_blank">'.$Twitter_ID.'</a><br/> <a href="'.$Online_chat.'" target="_blank">Online Chat</a> <br/> <a href="'.$Online_form.'" target="_blank">Online Form</a><br/>'.$Email_1.'<br/>'.$Email_2.'<br/>'.$Email_3.'</div>';


        }

}

}

最佳答案

只需使用empty()函数

if(!empty($Twitter_ID)){
$output .= '<div style="background-color:#ebebeb; padding: 2em;"> <br/>
Twitter: <a href="http://www.twitter.com/'.$Twitter_ID.'" target="_blank">'.$Twitter_ID.'</a>
</div>';
}

引用php empty()

关于你的第二个问题

if(isset($_POST['search'])) {

$searchq = $_POST ['search'];
$query = mysql_query ("SELECT * FROM HH_list2 WHERE Company LIKE '%$searchq%'") or die ("could not search"); //OT TO HERE !!!!!
$count = mysql_num_rows($query);
if ($count == 0) {
    $output = 'Sorry but we did not find anything';
    }else{
        while($row = mysql_fetch_array($query)) {
            $Company = $row ['Company'];
            $Twitter_ID = $row ['Twitter_ID'];
            $Online_chat = $row ['Online_chat'];
            $Online_form = $row ['Online_form'];
            $Email_1 = $row ['Email_1'];
            $Email_2 = $row ['Email_2'];
            $Email_3 = $row ['Email_3'];

            $output .= '<div style="background-color:#ebebeb; padding: 2em;">';
if(!empty($Company)){
 $output .= '<h3>'.$Company.' </h3><br/> ';
 if(!empty($Twitter_ID)){
 $output .= 'Twitter: <a href="http://www.twitter.com/'.$Twitter_ID.'" target="_blank">'.$Twitter_ID.'</a><br/>';
}
 if(!empty($Online_chat)){
  $output .= '<a href="'.$Online_chat.'" target="_blank">Online Chat</a> <br/> ';
}
 if(!empty($Online_form)){
 $output .= '<a href="'.$Online_form.'" target="_blank">Online Form</a><br/>';
}
 if(!empty($Email_1)){
 $output .=$Email_1.'<br/>';
}
 if(!empty($Email_2)){
 $output .=$Email_2.'<br/>';
}
 if(!empty($Email_3)){
 $output .=$Email_3;
}
 $output .='</div>';


        }

}

Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO, or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

关于php - 当通过 PHP 查询时 mysql 数据库中没有结果时,是否可以排除 HTML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18193754/

相关文章:

mysql - 使用 MySQL 查询进行复杂排序

php - mysql 在 php 脚本中插入查询不起作用

javascript - 是否有等效于 JavaScript 的 Array.prototype.some() 函数的 PHP

php - Laravel:如何从结果访问表主键

javascript - Uncaught ReferenceError : $ is not defined in HTML

javascript - 如何删除 div 中的整个最后一行 html?

php - MySQL 只返回一行

php - Yii 中带有 ENUM 的下拉框

javascript - 提交后如何重定向

javascript - 单击我的菜单时,如何根据显示的菜单使两个无序列表淡入淡出?