动态网页的三大法宝PHP+MYSQL+javascript,下面是在学习PHP和mysql编程时的一个自己编制的程序-同学录查询,使用了以上三项法宝,其中的查询结果的输出结果我认为还比较满意,可以一次显示一条记录,每条记录是一个table,通过姓名的导航,可以逐个查看输出结果.
一.查询界面
二.执行查询和动态显示的界面
//标签显示时隐藏和打开选择的table
function showtable(id,totalnum)
{
for(i=0;i eval("table"+i.toString()+".style.display='none'"); eval("table"+id.toString()+".style.display=''"); }
#连接和打开数据库
$dbh = mysql_connect("localhost");
$err = mysql_error();
if($err){die("连接错误");}
mysql_select_db('mydb');
$err = mysql_error();
if($err){die("打开数据库错误");}
#建立查询语句
if((trim($name)!="")&&(trim($attribute)!=""))
$query="select * from addressbook where name="".$name."" and attribute="".$attribute.""";
else if((trim($name)=="")&&(trim($attribute)==""))
$query="select * from addressbook where 1";
else if(trim($name)=="")
$query="select * from addressbook where attribute="".$attribute.""";
else if(trim($attribute)=="")
$query="select * from addressbook where name="".$name.""";
if($sex=="2")
$query=$query." and sex="男"";
else if($sex=="3")
$query=$query." and sex="女"";
#查询数据库
$ret = mysql_query($query, $dbh);
$num=mysql_num_rows($ret);
if($num<=0)
{
echo "";
exit;
}
if($output=="2")#表格形式输出
{
echo "
| 查询结果 | ||||||||||||
| 姓名 | 性别 | 生日 | Bp | 手机 | 工作电话 | 工作地址 | 家庭电话 | 家庭地址 | 邮编 | 属性 | 备注 | |
| $row[1] | $row[2] | $row[3] | $row[9] | $row[5] | $row[6] | $row[7] | $row[11] | $row[8] | $row[12] | $row[4] | $row[10] | $row[13] |
新查询";
}
else#标签形式输出
{
for($i=0;$i<$num;$i++)
{
$row = mysql_fetch_row($ret);
$names[$i]=$row[1];
for($j=0;$j<14;$j++)
if(trim($row[$j])=="")
$row[$j]=" ";
if($row[3]=="0000-00-00")
$row[3]=" ";
if($row[4]=="0")
$row[4]=" ";
echo "
";}
echo "";
echo "
| $names[$index] | ";
}
mysql_close($dbh);
?>
三.改进还很多,例如可以将查询模糊化等等.
我使用的数据库结构是,可以按照自己的需要修改.
id smallint(4)
name varchar(10)
sex char(2)
birthday date
post int(6)
bp varchar(20)
mobile varchar(20)
workphone varchar(20)
homephone varchar(20)
email varchar(30)
attribute varchar(10)
workaddr varchar(40)
homeaddr varchar(40)
memo text
【本文版权归作者cspace与奥索网共同拥有,如需转载,请注明作者及出处】

