Как я могу вернуть сообщение, если $ _GET равно нулю или не соответствует ни одной записи в базе данных? - PullRequest
2 голосов
/ 24 мая 2010

Я работаю над созданием базы данных ИТ-активов.Здесь я работаю над страницей, используемой для просмотра сведений о конкретном активе, определяемом идентификатором актива.

Здесь я беру $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 ]

2 голосов
/ 24 мая 2010
<?php if (empty($type)): ?>
    <!-- print your message -->
<?php else: ?>
    <!-- show asset stuff -->
<?php endif; ?>
0 голосов
/ 24 мая 2010

Если $ id равен нулю, вам вообще не нужно подключаться к базе данных / запрашивать ее. Кроме того, другой вариант стиля, использующий троичный для проверки на пустоту.

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

затем, аналогично решению webbidave в HTML для отображения сообщения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...