如果$ _GET为null或与任何数据库条目不匹配,如何返回消息?

时间:2010-05-23 23:09:55

标签: php mysql loops get

我正在设计IT资产数据库。在这里,我正在处理一个页面,用于查看由资产ID确定的特定资产的详细信息。

我从$id

抓取$_GET["id"];

$id为空时,页面不会加载。当$id与数据库中的任何条目都不匹配时,页面会加载,但不会打印资产表。

在这两种情况下,我想显示一条消息,例如“该资产ID没有数据库条目”

如何处理?谢谢。

<?php

/* 
*  View Asset
*
*/

# include functions script
include "functions.php";

$id = $_GET["id"];
ConnectDB();
$type = GetAssetType($id);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Wagman IT Asset</title>
</head>

<body>
    <div id="page">
                <div id="header">
                  <img src="images/logo.png" />
                </div>

                </div>

                <div id="content">
                    <div id="container">

                        <div id="main">
                        <div id="menu">
                            <ul>
                                <table width="100%" border="0">
                                <tr>
                                <td width="15%"></td>
                                <td width="30%%"><li><a href="index.php">Search Assets</a></li></td>
                                <td width="30%"><li><a href="addAsset.php">Add Asset</a></li></td>
                                <td width="25%"></td>
                                </tr>
                                </table>
                          </ul>
                        </div>
                        <div id="text">
                        <ul>
                        <li>
                        <h1>View Asset</h1>
                        </li>
                        </ul>
                        <br />
                        <?php
                        switch ($type){
                        case "Server":
                        $result = QueryServer($id);
                        $ServerArray = GetServerData($result);
                        PrintServerTable($ServerArray);
                        break;
                        case "Desktop";

                        break;
                        case "Laptop";

                        break;
                        }
                        ?>


                        </div>

                        </div>
                </div>
                <div class="clear"></div>
                <div id="footer" align="center">
                    <p>&nbsp;</p>
                </div>
                </div>
                <div id="tagline">
                Wagman Construction - Bridging Generations since 1902
                </div>


</body>
</html>

2 个答案:

答案 0 :(得分:2)

<?php if (empty($type)): ?>
    <!-- print your message -->
<?php else: ?>
    <!-- show asset stuff -->
<?php endif; ?>

答案 1 :(得分:0)

如果$ id为null,则根本不应连接/查询数据库。另外,另一个样式选项使用三元来检查空。

$id = !empty($_GET["id"]) ? $_GET["id"] : '';
if ($id) {
   ConnectDB();
   $type = GetAssetType($id);
}

然后,与HTML中的webbidave解决方案一样显示消息