创建 Web 应用程序
Web 上一个常用的机制就是向下钻取(drill-down)。该技术可以显示一组链接,用户可以单击其中一个链接,然后进入另一个页面,该页面显示关于用户所单击的链接的更多信息。在这个项目中,将创建一个包含客户名称的向下钻取列表:当单击一个客户名称时,就可以查看关于该客户的更多细节。
为此,首先添加一些字段到 customers 表中,以便在链接到的页面上显示这些字段。添加 description、address、telephone 等字段和所需的任何其他类型的信息。
现在,必须确保从数据库中获取到所有数据。将包含 SQL 的那行代码设置成这样:
$sql = "SELECT * FROM customers;"; |
接着,调整 while
循环的内容,将它变成一个链接,并将记录的 ID 放入链接中。这应该可以产生一个形如 http://localhost/customerinfo.php?id=1 的链接:
echo "<a href='customerinfo.php?cust_id=" . $row['id'] ."'>" . $row['forename'] . " " . $row['surname'] . "</a>"; |
这行代码动态地创建一个链接,并在链接的后面附加上每行记录的 ID。如果将鼠标悬停在链接上,在状态栏应该可以看到相应的动态 ID(见图 6)。
图 6. 为记录创建包含GET 变量的链接
现在需要创建信息页面。创建一个名为 productinfo.php 的新页面,首先包括数据库连接信息:
$db_host = "localhost"; $db_username = "bob"; $db_password = "sum65for!"; $db_database = "customers"; $db = mysql_connect($db_host, $db_username, $db_password); mysql_select_db($db_database, $db); |
接着,从地址栏读取值,并将该值存放在一个单独的变量中:
$theid = $_GET['cust_id']; |
这行代码通过 $_GET
访问 URL 尾部的变量。PHP 中的这个特性称作 Superglobal,可以使用该特性获得
GET
变量(即出现在 URL 尾部的变量)。然后,您可能很想通过一些验证检查来运行该变量,以确保没有其他人在尝试使用该变量,但是在本教程中,我将保持脚本的简单性。
现在,从表中取出 ID 与 $theid
变量中存储的 ID 相匹配的特定记录。为此,可以使用以下代码:
$sql = "SELECT * FROM customers WHERE id = " . $theid . ";"; $result = mysql_query($sql); |
该代码将执行这个查询,现在可以通过 echo 显示结果信息(见图 7):
echo $row['forename'] . "<br />"; echo $row['surname'] . "<br />"; echo $row['description'] . "<br />"; |
图 7. 当用户单击一个记录时,显示完整的记录信息
本 教程提供了一个简单的应用程序,以便让您对 PHP 和 MySQL 编程的核心概念有初步的了解。LAMP 是一个巨大的项目,我只触及了其表面,即 LAMP 系统。LAMP 系统非常灵活。虽然我只谈到了 LAMP 开发中的少数几个方面,但这里讨论的概念可以给您打下一个坚实的基础,您可以由此进一步阅读 Internet 上大量的 LAMP 教程和文档。