PHP 简单案例[5]
- 本系列PHP 简单案例通过“问题-代码”的方式介绍各类方法,每篇设置2个PHP综合问题,并给出解决方案。
问题1
现有商品表goods(id,name,num,price,lasttime)和订单表orders(oid, gid,quantity,total), 其中商品表的字段名称分别 是: 商品编号、商品名称、库存数量、单价和最后一次购买日期, 订单表的字段名称分别是: 订单编号、商品编 号、购买数量和总金额。
存有一个sj3.php的页面中, 在两个表格中显示了所有商品和订单信息, 如图所示。点击超链接 Buy, 将购买一件对应的商品, 增加ordersi记录, 修改goods 表的商品剩余数目。
问题1代码
<?php
$con=mysql_connect("localhost:3306","root","")
or die("no database!<br>");
//**********found**********
mysql_select_db ("db_exam",$con) or die( "database fail!<br>");
if(isset($_GET['buy']))
{
$id=$_GET['buy'];
$placeorder='insert into orders(gid,quantity) value('.$id.',1)';
mysql_query($placeorder,$con);
$subtractgoods='update goods set num=num-1 where id='.$id;
mysql_query($subtractgoods,$con);
}
$sql_goods="SELECT id,name,num FROM goods";
$result_allgoods=mysql_query($sql_goods,$con);
$sql_orders="SELECT oid,gid,quantity FROM orders";
$result_allorders=mysql_query($sql_orders,$con);
?>
<table border='1px'>
<caption>All Goods</caption>
<tr>
<td>id</td>
<td>name</td>
<td>num</td>
<td>OP</td>
</tr>
<?php
while($rows_goods=mysql_fetch_array($result_allgoods)){
?>
<tr>
<td><?php echo $rows_goods[0];?></td>
<td><?php echo $rows_goods[1];?></td>
<td><?php echo $rows_goods[2];?></td>
<!--//**********found**********-->
<td><a href='https://www.ctyun.cn/portal/link.html?target=sj3.php%3Fbuy%3D%26lt%3B%3Fphp+echo+%24rows_goods%5B0%5D%3B%3F%26gt%3B'>Buy</a></td>
</tr>
<?php
}
?>
</table><br/><br/>
<table border='1px'>
<caption>All Orders</caption>
<tr>
<td>oid</td>
<td>gid</td>
<td>quantity</td>
</tr>
<?php
while($rows_orders=mysql_fetch_array($result_allorders)){
?>
<tr>
<td><?php echo $rows_orders[0];?></td>
<td><?php echo $rows_orders[1];?></td>
<td><?php echo $rows_orders[2];?></td>
</tr>
<?php
//**********found**********
mysql_free_result($con) //释放资源
?>
</table>
<?php mysql_close($con);
?>
问题2
在数据库newtest中, 现有学生表、成绩表:
Student(stuid, name, sex) (说明: 学号, 姓名, 性别)
Score(id, stuid, cname, grade) (说明: 编号, 学号, 课程名, 分数)
si3.php的页面中, 在两个表格中显示了所有的学生信息, 如图所示。点击超链接Detail, 将显示该学生的各课程 成绩, 点击Back可返回学生列表页面。
问题2代码
<?php
//**********found**********
$con=mysql_connect ("localhost:3306","root","")
or die("no database!<br>");
mysql_select_db ("newtest",$con) or die( "database fail!<br>");
mysql_query("SET NAMES gbk");
if(isset($_GET['detail']))
{
$id=$_GET['detail'];
$sql_score='select * from score where stuid='.$id;
//**********found**********
$result_allscores=mysql_query ($sql_score,$con); //mysql_query
?>
<table border='1px'>
<caption>All Scores</caption>
<tr>
<td>stuid</td>
<td>cname</td>
<td>grade</td>
</tr>
<?php
while($rows_orders=mysql_fetch_array($result_allscores)){
?>
<tr>
<td><?php echo $rows_orders[1];?></td>
<td><?php echo $rows_orders[2];?></td>
<td><?php echo $rows_orders[3];?></td>
</tr>
<?php
}
?>
</table>
<a href="https://www.ctyun.cn/portal/link.html?target=sj3.php">Back</a>
<?php
}
else{
$sql_student="SELECT * FROM student";
$result_allstudents=mysql_query($sql_student,$con);
?>
<table border='1px'>
<caption>All Students</caption>
<tr>
<td>id</td>
<td>name</td>
<td>sex</td>
<td>OP</td>
</tr>
<?php
while ($rows_student=mysql_fetch_array($result_allstudents)){
?>
<tr>
<td><?php echo $rows_student[0];?></td>
<td><?php echo $rows_student[1];?></td>
<td><?php echo $rows_student[2];?></td>
<td><a href='https://www.ctyun.cn/portal/link.html?target=sj3.php%3Fdetail%3D%26lt%3B%3Fphp+echo+%24rows_student%5B0%5D%3B%3F%26gt%3B'>Detail</a></td>
</tr>
<?php
}
?>
</table><br/><br/>
<?php
}
//**********found**********
mysql_close($con);
?>