柔情似水 发表于 2015-2-4 00:06:15

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之类的吧?模板呢?

小妖女 发表于 2015-2-4 08:51:19

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

分手快乐 发表于 2015-2-9 20:51:28

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

飘飘悠悠 发表于 2015-2-23 00:35:51

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

蒙在股里 发表于 2015-2-28 02:39:10

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

精灵巫婆 发表于 2015-3-1 14:39:06

实践是检验自己会不会的真理。

小魔女 发表于 2015-3-5 03:18:38

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

莫相离 发表于 2015-3-6 10:14:34

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

简单生活 发表于 2015-3-11 04:46:45

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

老尸 发表于 2015-3-16 17:35:16

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

透明 发表于 2015-3-22 23:26:52

写的比较杂,因为我也是个新手,不当至于大家多多指正。

灵魂腐蚀 发表于 2015-3-24 02:47:42

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

若天明 发表于 2015-4-1 07:10:29

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

爱飞 发表于 2015-4-4 08:52:40

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

第二个灵魂 发表于 2015-4-6 17:05:18

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

变相怪杰 发表于 2015-4-7 03:50:44

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

海妖 发表于 2015-4-10 20:22:08

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

仓酷云 发表于 2015-4-21 23:12:44

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

深爱那片海 发表于 2015-6-5 18:11:02

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

因胸联盟 发表于 2015-6-23 10:59:57

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
页: [1] 2
查看完整版本: PHP教程之图书办理法式(二)