php代码与原理

header("Content-type:text/html;charset=utf-8"); $db=new mysqli("localhost","root","","news_php100") ; //实例化一个数据库连接。使用这个前一定要确保已经加载了mysqli类库,或者用mysql_connect这个方式连接。 if(mysqli_connect_errno()){echo "链接失败:".mysqli_connect_error(); exit(); }  

  1. $db->query("set names utf8"); 
  2. $result=$db->query("select name from class where f_id=0"); //查找f_id=0的分类,也就是查找每一个大类。 
  3. while($row=$result->fetch_assoc()){ 
  4. echo $row['name']."<br>";        //这样就把每个大类循环出来了。 
  5. } 
  6. //同样我们可以把新闻的子类循环出来。 
  7. $result=$db->query("select * from class where f_id=1"); //查找f_id=1的分类,也就是查找‘新闻’的子类。 
  8. while($row=$result->fetch_assoc()){ 
  9. echo $row['name']." 
    1. $result=$db->query("select * from class"); 
    2. while($row=$result->fetch_assoc()){ 
    3. $arr[]=array($row[id],$row[f_id],$row[name]);    //每一行保存一个分类的id,f_id,name的信息。 
    4. } 
    5. function fenlei($f_id=0){     //$f_id初始化为0,也就是从最大分类开始循环. 
    6. global $arr;   //声明$arr为全局变量才可在函数里引用。 
    7. for($i=0;$i<count($arr);$i++){       //对每个分类进行循环。 
    8. if($arr[$i][1]==$f_id){         //$arr[$i][1]表示第$i+1个分类的f_id的值。开始$f_id=0,也就是把f_id=0的分类输出来。 
      1. <?  
      2. .....  
      3. ..... 
      4. //设置默认页  
      5. if (emptyempty($func)) $func=="showtype"; 
      6. //设置父分类的 uid  
      7. if (emptyempty($uid)) $uid=0; 
      8. //数据库存储************************************************  
      9. if ($func=="save"): 
      10. $fields = "";  
      11. $values = ""; 
      12. if ($id!="") {  
      13. $fields .= ",id";  
      14. $values.=",$id";  
      15. } 
      16. if ($uid!="") {  
      17. $fields .= ",uid";  
      18. $values.=",$uid";  
      19. } 
      20. if ($type!="") {  
      21. $fields .= ",type";  
      22. $values.=","$type"";  
      23. } 
      24. if ($route_id=="") { 
      25. //取得父分类的 route_id  
      26. if ($uid!=0) {  
      27. $result = mysqlquery("select * from type where id=$uid");  
      28. $route_id=mysql_result($result,0,"route_id");  
      29. } else {  
      30. $routr_id="0";  
      31. }  
      32. $fields .= ",route_id";  
      33. //形成自己的 route_id  
      34. $route_id="$route_id:$id";  
      35. $values.=","$route_id"";  
      36. } 
      37. //形成自己的 route_char  
      38. if ($route_char!="") {  
      39. $fields .= ",route_char";  
      40. $route_char="$route_char:$type";  
      41. $values.=","$route_char"";  
      42. } else {  
      43. $fields .= ",route_char";  
      44. $route_char=$type;  
      45. $values.=","$route_char"";  
      46. } 
      47. $fields = substr($fields,1,strlen($fields)-1);  
      48. $values = substr($values,1,strlen($values)-1); 
      49. $result = mysqlquery("insert into type ($fields) values ($values)");  
      50. ...  
      51. endif; /* end save */ 
      52. //分类上传************************************************  
      53. if ($func=="createtype"): 
      54. //取得自己的 id  
      55. $result = mysqlquery("select * from type order by  
      56. id desc");  
      57. $num=mysql_numrows($result);  
      58. if (!emptyempty($num)) {  
      59. $cat = mysql_result($result,0,"id");  
      60. } else {  
      61. $cat=0;  
      62. } 
      63. //判断分类的状态  
      64. if ($uid != 0) {  
      65. $result=mysql_query("select * from type where id=$uid");  
      66. $type=mysql_result($result,0,"type");  
      67. $route_char=mysql_result($result,0,"route_char");  
      68. } else {  
      69. $type="父分类";  
      70. }  
      71. echo "<FORM ACTION="$PHP_SELF?func=save" METHOD=POST>"; 
      72. echo "<table>";  
      73. echo "<tr><td>所属类别:$type</td></tr>";  
      74. echo "<tr><td>创建分类:<input type=text name="type" SIZE=10 MAXLENGTH=100></td></tr>"; 
      75. echo "<tr><td>";  
      76. $cat=$cat+1;  
      77. echo "<input type=hidden name=id value="$cat">";  
      78. echo "<input type=hidden name=uid value="$uid">";  
      79. echo "<input type=hidden name=route_char value="$route_char">";  
      80. echo "<INPUT TYPE=submit NAME="Save" VALUE="保存"></td></tr>"; 
      81. echo "</table>";  
      82. echo "</form>";  
      83. endif; /* end createtype */ 
      84. //显示分类************************************************  
      85. if ($func=="showtype"): 
      86. echo "<table>"; 
      87. //判断分类的状态  
      88. if ($uid!=0) {  
      89. $result=mysql_query("select * from type where id=$uid");  
      90. $type=mysql_result($result,0,"type");  
      91. } else {  
      92. $type="父分类";  
      93. } 
      94. echo "<tr><td><a href="$php_self?func=createtype&uid=$uid">创建分类</a></td></tr>"; 
      95. echo "<tr><td>$type</td></tr>"; 
      96. $result=mysql_query("select * from type where uid=$uid");  
      97. $num=mysql_numrows($result); 
      98. if (!emptyempty($num)) {  
      99. for ($i=0;$i<$num;$i++) { 
      100. $id=mysql_result($result,$i,"id");  
      101. $type=mysql_result($result,$i,"type"); 
      102. echo "<tr><td>";  
      103. echo "<a href="$php_self?func=showtype&uid=$id">$type</a>";  
      104. echo "</td></tr>";  
      105. }  
      106. } 
      107. echo "</table>";  
      108. endif; /* end showtype */  
      109. .....  
      110. ..... 
      111. ?> 
posted @ 2021-08-17 09:41  v17166570219  阅读(60)  评论(0)    收藏  举报