PHP教程之图书办理法式(二)
学习了六个多月PHP了,还是个新手,在这里受到了很多人的帮助,谢谢你们! 图书目次输出局部:<?
if(!$UploadAction):
?>
<?
//本法式是为输出书名,作者、出书社材料而设。
//编者:孔秀祥。日期:2001/3/24
/*
session_start();
if (!isset($auth_passed)) {
echo "本功效只要受权用户才干利用。";
return -1;
}
if(isset($u_name)) {
session_name($u_name);
//echo "<center><font color='red'>".session_name().":本法式将竭诚为您办事。</font></center>\n";
//echo "<hr>";
}
*/
?>
<HTML><HEAD>
<TITLE>图书目次输出 </TITLE>
</HEAD>
<BODY><TABLE align=CENTER>
<FORM ENCTYPE= "multipart/form-data" NAME = "SubmitForm"
ACTION= "<? $PHP_SELF ?>" METHOD = "POST">
<INPUT TYPE= "hidden" NAME = "MAX_FILE_SIZE" VALUE ="20000000">
<INPUT TYPE= "hidden" NAME = "UploadAction" VALUE = "1">
<!--TR><TD>文件名<TD><INPUT NAME = "UploadFile" TYPE = "file" VALUE="" SIZE = "30"></TR-->
<TR><TD align=center>著作名<TD><INPUT NAME = "b_name" TYPE = "text" VALUE="" SIZE = "30" maxlength=100></TD></TR>
<TR><TD align=center>作者<TD>姓<INPUT NAME = "a_first1" TYPE = "text" VALUE="" SIZE = "6" maxlength=20>
名<INPUT NAME = "a_last1" TYPE = "text" VALUE="" SIZE = "6" maxlength=20></TD></TR>
<TR><TD align=center>作者<TD>姓<INPUT NAME = "a_first2" TYPE = "text" VALUE="" SIZE = "6" maxlength=20>
名<INPUT NAME = "a_last2" TYPE = "text" VALUE="" SIZE = "6" maxlength=20></TD></TR>
<TR><TD align=center>作者<TD>姓<INPUT NAME = "a_first3" TYPE = "text" VALUE="" SIZE = "6" maxlength=20>
名<INPUT NAME = "a_last3" TYPE = "text" VALUE="" SIZE = "6" maxlength=20></TD></TR>
<TD>编著体例</TD>
<TD>
<SELECT size="1" name="author_type" TYPE = "int" default=11>
<OPTION selected value="11">著 </OPTION>
<OPTION selected value="12"> 编著 </OPTION>
<OPTION value="13"> 主编</OPTION>
<OPTION value="14">副主编</OPTION>
<OPTION value="15">参编</OPTION>
<OPTION value="16"> 注 </OPTION>
<OPTION value="17"> 编 </OPTION>
<OPTION value="18"> 选 </OPTION>
<OPTION value="19"> 评 </OPTION>
<OPTION value="20"> 其他</OPTION>
</SELECT>
订价<INPUT NAME = "b_price_a" TYPE = "text" VALUE="" SIZE = "3">.<INPUT NAME = "b_price_b" TYPE = "text" VALUE="" SIZE = "2">元
</TR>
<TR><TD align=center>出书社<TD><INPUT NAME = "p_name" TYPE = "text" VALUE="" SIZE = "30" maxlength=100></TD></TR>
<TR><TD>出书日期<TD><INPUT NAME = "p_year" TYPE = "text" VALUE="" SIZE = "4">年
<INPUT NAME = "p_month" TYPE = "text" VALUE="" SIZE = "2">月
<TR><TD>ISBN<TD><INPUT NAME = "isbn" TYPE = "text" VALUE="" SIZE = "25">
<TR><TD rowspan=5>有关书的申明</TD>
<!--/TR><TR-->
<TD rowspan=5><TEXTAREA wrap=on rows="5" cols="30" NAME = "b_comment" SIZE = "255">
</TEXTAREA></TD>
</TR>
</TABLE>
<TABLE align=center>
<TR><TD align=center>
<INPUT NAME = "submit" VALUE = "提交" TYPE = "submit">
<TD><INPUT NAME = "reset" VALUE = "重置" TYPE = "reset">
</TD></TR>
</FORM></CENTER></TABLE></BODY>
</HTML>
<?
else:
session_start();
require "config.php3";
$b_price=trim($b_price_a)."\.".trim($b_price_b);
if(strlen($p_month)==1)
$p_month="0".trim($p_month);
if($p_month=="")
$p_month="01";
$date_pub=trim($p_year)."-".trim($p_month)."-01";
$UploadAction=0;
$repeat=0; //是否是反复了。
$TimeLimit=0; //设置超时限制工夫缺省工夫为 30秒设置为0时为不限时
set_time_limit($TimeLimit);
@MYSQL_CONNECT($hostname,$dbusername,$dbpassword) OR DIE("不克不及毗连数据库!");
@mysql_select_db("$dbname") or die("不克不及选择数据库!");
//$q="select books.books_id, books.books_name,author.first_name,author.last_name,publisher.publisher_name from books,author,books_author,publisher where books.books_name=\"$b_name\" and books.publisher_id=publisher.publisher_id and books.books_id=books_author.books_id and books_author.author_id=author.author_id";
$b_name=trim($b_name);
$sele="select books.books_id, books.books_name,author.first_name,author.last_name,publisher.publisher_name,books.ISBN,books.price,books.date_pub,books.pages";
$fro=" from books,author,books_author,publisher ";
if(trim($isbn)!="")
$whe="where books.ISBN=\"$isbn\" ";
elseif(trim($a_first1)!="" && trim($a_last1)!="" && trim($p_name)!="")
$whe=" where books.books_name=\"$b_name\" and books.publisher_id=publisher.publisher_id and books.books_id=books_author.books_id and books_author.author_id=author.author_id";
else{
$msg="书名为必填,其他假如ISBN为空,则作者的姓、名,出书社为必填。<BR>请反省是不是合适请求。";
xueroom_error_exit($msg,$PHP_SELF);
}
$q="$sele$fro$whe";
/*
books.books_id,
books.books_name,
author.first_name,
author.last_name,
publisher.publisher_name
books.ISBN,
books.price,
books.date_pub,
books.pages
*/
$r = @mysql_query($q);
// $count=@mysql_fetch_row($r);
// echo "书名".$count."<BR>";
if(!$r){
echo "查询有效 <BR>";
exit;
}
if(mysql_num_rows($r)){
if(trim($isbn)!=""){
echo "数据反复。<BR>";
exit;
}
else
while($count=mysql_fetch_array($r)){
/*
echo "while。<BR>";
echo trim($a_first1);
echo trim($count);
echo trim($a_first1)==trim($count);
echo "<BR>";
echo trim($a_last1)==trim($count);
echo "<BR>";
echo trim($p_name)==trim($count);
echo "<BR>";
*/
if( trim($a_first1)==trim($count) && trim($a_last1)==trim($count) && trim($p_name)==trim($count)){
$data_exist+=1;
$books_id=$count;
$books_name=$count;
$first_name=$count;
$last_name=$count;
$repeat=1;
echo "本书已在数据库中。<BR>";
echo "<font color='red'>书名:</font>".$books_name;
echo "<BR><font color='blue'>作者:</font>".$first_name.$last_name;
echo "<BR><font color='red'>国标尺度书号:</font>".$count;
echo "<BR><font color='blue'>书价:</font>".$count."元";
echo "<BR><font color='red'>出书日期:</font>".substr($count,0,4)."年".substr($count,5,2)."月";
if($count)
echo "<font color='blue'>页码:</font>".$count."页";
echo"<BR><A HREF = $PHP_SELF>前往 </A>";
//$repeat=0;
exit;
// break;
}
}//while($count=mysql_fetch_array($r)){
}//if(mysql_num_rows($r){
//if(!$repeat){
if($p_name!=""){
$p_name=trim($p_name);
$address=trim($address);
$zipcode=trim($zipcode);
$telephone=trim($telephone);
$telefax=trim($telefax);
$email=trim($email);
$s_publisher="select publisher_id from publisher where publisher_name=\"$p_name\"";
$results1 = @mysql_query($s_publisher);
$count1=mysql_fetch_array($results1);
if(mysql_num_rows($results1)<1){
$q_publisher="INSERT INTO publisher (publisher_name, address, zipcode, telephone, telefax, email) VALUES (\"$p_name\", \"$address\", \"$zipcode\", \"$telephone\", \"$telefax\", \"$email\")";
$result2 = @mysql_query($q_publisher);
if($result2){
$publisher_id= mysql_insert_id();
}
}
else
$publisher_id= $count1;
}
if($b_name==""){
echo"书名不克不及为空。";
exit;
}
else{
$b_name=trim($b_name);
$publisher_id=trim($publisher_id);
// $date_pub=trim($date_pub);
$type=trim($type);
$pages=trim($pages);
// $b_price=trim();
$isbn=trim($isbn);
$s_books="select books_id from books where books_name=\"$b_name\" ";
$results3 = @mysql_query($s_books);
$count3=mysql_fetch_array($results3);
if(mysql_num_rows($results3)<1){
$q_books="INSERT INTO books (books_name, publisher_id, date_pub, type, pages, price,ISBN) VALUES (\"$b_name\", \"$publisher_id\", \"$date_pub\", \"$type\", \"$pages\", \"$b_price\",\"$isbn\")";
$result3 = @mysql_query($q_books);
if($result3){
$books_id= mysql_insert_id();
}
}
else
$books_id=$count3;
}
if(($a_first1=="")||($a_last1=="")){
echo"第一作者的姓名不克不及为空。";
//exit;
}
else{
$a_first1=trim($a_first1);
$a_last1=trim($a_last1);
$address=trim($address);
$zipcode=trim($zipcode);
$telephone=trim($telephone);
$email=trim($email);
$s_author="select author_id from author where first_name=\"$a_first1\" and last_name=\"$a_last1\"";
$results = @mysql_query($s_author);
$count2=mysql_fetch_array($results);
if(mysql_num_rows($results)<1){
$q_author="INSERT INTO author (first_name, last_name, address, zipcode, telephone, email) VALUES (\"$a_first1\", \"$a_last1\", \"$address\",\"$zipcode\", \"$telephone\", \"$email\")";
$result1 = @mysql_query($q_author);
if($result1){
$author_id= mysql_insert_id();
}
}
else
$author_id =$count2;
if($books_id!=""||$author_id!=""){
$s_ba="select id from books_author where books_id=\"$books_id\" and author_id=\"$author_id\"";
$resulta = @mysql_query($s_ba);
//$counta=mysql_fetch_array($resulta);
if(mysql_num_rows($resulta)<1){
$q_books_author="INSERT INTO books_author (books_id, author_id, author_type) VALUES (\"$books_id\", \"$author_id\", \"$author_type\")";
$author_id="";
$resulta = @mysql_query($q_books_author);
}
}
}
if(($a_first2!="")||($a_last2!="")){
$a_first2=trim($a_first2);
$a_last2=trim($a_last2);
$s_author2="select author_id from author where first_name=\"$a_first2\" and last_name=\"$a_last2\"";
$results5 = @mysql_query($s_author2);
$count5=mysql_fetch_array($results5);
if(mysql_num_rows($results5)<1){
$q_author2="INSERT INTO author (first_name, last_name, address, zipcode, telephone, email) VALUES (\"$a_first2\", \"$a_last2\", \"$address\",\"$zipcode\", \"$telephone\", \"$email\")";
$result2 = @mysql_query($q_author2);
if($result2){
$author_id= mysql_insert_id();
}
}
else
$author_id =$count5;
if($books_id!=""||$author_id!=""){
$s_ba="select id from books_author where books_id=\"$books_id\" and author_id=\"$author_id\"";
$resulta = @mysql_query($s_ba);
//$counta=mysql_fetch_array($resulta);
if(mysql_num_rows($resulta)<1){
$q_books_author="INSERT INTO books_author (books_id, author_id, author_type) VALUES (\"$books_id\", \"$author_id\", \"$author_type\")";
$author_id="";
$resulta = @mysql_query($q_books_author);
}
}
}
if(($a_first3!="")||($a_last3!="")){
$a_first3=trim($a_first3);
$a_last3=trim($a_last3);
$s_author3="select author_id from author where first_name=\"$a_first3\" and last_name=\"$a_last3\"";
$results6 = @mysql_query($s_author3);
$count6=mysql_fetch_array($results6);
if(mysql_num_rows($results6)<1){
$q_author3="INSERT INTO author (first_name, last_name, address, zipcode, telephone, email) VALUES (\"$a_first2\", \"$a_last2\", \"$address\",\"$zipcode\", \"$telephone\", \"$email\")";
$result3 = @mysql_query($q_author3);
if($result3){
$author_id= mysql_insert_id();
}
}
else
$author_id =$count6;
if($books_id!=""||$author_id!=""){
$s_ba="select id from books_author where books_id=\"$books_id\" and author_id=\"$author_id\"";
$resulta = @mysql_query($s_ba);
//$counta=mysql_fetch_array($resulta);
if(mysql_num_rows($resulta)<1){
$q_books_author="INSERT INTO books_author (books_id, author_id, author_type) VALUES (\"$books_id\", \"$author_id\", \"$author_type\")";
$author_id="";
$resulta = @mysql_query($q_books_author);
}
}
}
echo"<BR><A HREF = $PHP_SELF>前往 </A>";
echo"</BODY></HTML>";
?>
<?
endif;
?> 那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢? 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 实践是检验自己会不会的真理。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
页:
[1]
2