PHP学习笔记 用超链接实现在本页面显示不同信息

这篇PHP学习笔记介绍了如何通过超链接在同一个页面上展示不同信息。利用$_SERVER['PHP_SELF']获取当前脚本名,并结合查询字符串?id=实现商品详情展示。当URL中无'id'时显示所有商品,有'id'则显示特定商品。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP学习笔记

2009-7-29

 

主题:用超链接实现在本页面显示不同信息

 

1 要点

1.1 echo "<a href=/"".$_SERVER["PHP_SELF"]."?id=".$rs->gID."/">详情</a>";

1.1.1 其中,预定义变量$_SERVER["PHP_SELF"]的含义在PHP手册中是被这样解释的:

PHP_SELF

当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 http://example.com/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。

1.1.2 使用?id=".$rs->gID这个查询字符串相当于使用了GET方法,以前以为只有表单<form></form>才能使用GET或是POST方法。因此,点击该超链接后,将把对应的id,也就是某条货物记录对应数据库中gID字段的值,传到本页面,而后使用SQL查询语句select * from goods_info where gID=".$_GET["id"]显示出特定的货物记录。

 

2 总结

变量$_GET["id"]的有无决定了当前页面显示的内容。

 

3 源代码

<?php

$host = "localhost";

$user = "root";

$password = "";//在这里输入登陆MySQL的密码

 

$link = mysql_connect($host,$user,$password); 

 

mysql_select_db("shop");

mysql_query("SET NAMES gb2312");

 

echo "<html>/n";

echo "<head>/n";

echo "<title>/n";

echo "显示货物信息/n";

echo "</title>/n";

echo "</head>/n";

echo "<body>/n";

 

if(!$_GET["id"])//如果当前URL里面没有“id”这个变量,则显示所有货物的信息

{

       $exec = "select * from goods_info";

       $result = mysql_query($exec);

      

       echo "<table border=/"1/">/n";

       echo "<tr>/n";

       echo "<td>ID</td>/n";

       echo "<td>名称</td>/n";

       echo "<td>价格</td>/n";

       echo "<td>简介</td>/n";

       echo "</tr>/n";

        

       while($rs = mysql_fetch_object($result))

       {

              echo "<tr>/n";

              echo "<td>".$rs->gID."</td>/n";

              echo "<td>".$rs->gName."</td>/n";

              echo "<td>".$rs->gPrice."</td>/n";

              echo "<td>".$rs->gBrief."</td>/n";

              echo "<td>";

              echo "<a href=/"".$_SERVER["PHP_SELF"]."?id=".$rs->gID."/">详情</a>";//点击“详情”可以查看特定货物的信息

              echo "</td>/n";

              echo "</tr>/n";

       }

}

else//如果当前URL里面有“id”这个变量,则显示特定货物的信息

{

       $exec = "select * from goods_info where gID=".$_GET["id"];

       $result = mysql_query($exec);

      

       echo "<table border=/"1/">/n";

       echo "<tr>/n";

       echo "<td>编号</td>/n";

       echo "<td>名称</td>/n";

       echo "<td>价格</td>/n";

       echo "<td>简介</td>/n";

       echo "</tr>/n";

      

       if($rs = mysql_fetch_object($result))

       {

              echo "<tr>/n";

              echo "<td>".$rs->gID."</td>/n";

              echo "<td>".$rs->gName."</td>/n";

              echo "<td>".$rs->gPrice."</td>/n";

              echo "<td>".$rs->gBrief."</td>/n";

              echo "</tr>/n";

       }

}

 

echo "</table>/n";

echo "</body>/n";

echo "</html>/n";

 

mysql_close();

?>

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值