查看: 213|回复: 0

[PHP代码] DOM综合例题之对图书添加、修改、删除操作

发表于 6 天前
太阳http代理AD

图书管理界面:

法一:通过childNodes属性来获取所有子节点,然后再取子节点的值

法二:

添加图书信息:

添加界面如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. <?php
  9. if($_POST){
  10. $doc=new DOMDocument();//实例化DOMDocument对象
  11. $doc->preserveWhiteSpace=false;//不保护空格,即导入xml的时候去掉空白字符
  12. $doc->formatOutput=true;//格式化
  13. $path='./books.xml';
  14. $doc->load($path);
  15. $book=$doc->createElement('book');
  16. $name=$doc->createElement('name',$_POST['name']);
  17. $price=$doc->createElement('price',$_POST['price']);
  18. $book->appendChild($name);
  19. $book->appendChild($price);
  20. $book->setAttribute('type',$_POST['type']);
  21. $books=$doc->documentElement;//找出根节点
  22. $books->appendChild($book);//book添加到根节点books下面,作为books的子节点
  23. if($doc->save($path)){
  24. //echo '添加成功'
  25. header('location:books_admin.php');
  26. }else{
  27. echo '添加失败';
  28. }
  29. }
  30. ?>
  31. <form id="form1" name="form1" method="post" action="">
  32. <table width="400" border="1" align="center">
  33. <tr>
  34. <td colspan="2" align="center">添加图书</td>
  35. </tr>
  36. <tr>
  37. <td>书名:</td>
  38. <td><input type="text" name="name" id="name" /></td>
  39. </tr>
  40. <tr>
  41. <td>类别:</td>
  42. <td><select name="type" id="type">
  43. <option value="脚本语言">脚本语言</option>
  44. <option value="动态语言">动态语言</option>
  45. <option value="静态语言">静态语言</option>
  46. <option value="标记语言">标记语言</option>
  47. </select> </td>
  48. </tr>
  49. <tr>
  50. <td>价格:</td>
  51. <td><input type="text" name="price" id="price" /></td>
  52. </tr>
  53. <tr>
  54. <td colspan="2"><input type="submit" name="button" id="button" value="提交" />
  55. <input type="button" name="button2" id="button2" value="返回" onclick="location.href='books_admin.php'"/></td>
  56. </tr>
  57. </table>
  58. </form>
  59. </body>
  60. </html>
复制代码

  修改图书信息:

修改界面如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. <?php
  9. $index=$_GET['index'];
  10. //echo $index;
  11. if(!is_numeric($index))
  12. die('非法操作');
  13. $doc=new DOMDocument();
  14. $doc->preserveWhiteSpace=false;
  15. $path='./books.xml';
  16. $doc->load($path);
  17. $oldbook=$doc->getElementsByTagName('book')->item($index);
  18. if($_POST){
  19. $newbook=$doc->createElement('book');
  20. $name=$doc->createElement('name',$_POST['name']);
  21. $price=$doc->createElement('type',$_POST['price']);
  22. $newbook->setAttribute('type',$_POST['type']);
  23. $newbook->appendChild($name);
  24. $newbook->appendChild($price);
  25. $root=$doc->documentElement->replaceChild($newbook,$oldbook);//替换节点
  26. $doc->save($path);
  27. header('location:books_admin.php');
  28. }
  29. ?>
  30. <form id="form1" name="form1" method="post" action="">
  31. <table width="400" border="1" align="center">
  32. <tr>
  33. <td colspan="2" align="center">修改图书</td>
  34. </tr>
  35. <tr>
  36. <td>书名:</td>
  37. <td><input type="text" name="name" id="name" value="<?php echo $oldbook->firstChild->nodeValue;?>"/></td>
  38. </tr>
  39. <tr>
  40. <td>类别:</td>
  41. <td><select name="type" id="type">
  42. <option value="<?php echo $oldbook->getAttribute('type');?>"><?php echo $oldbook->getAttribute('type');?></option>
  43. <option value="脚本语言">脚本语言</option>
  44. <option value="动态语言">动态语言</option>
  45. <option value="静态语言">静态语言</option>
  46. <option value="标记语言">标记语言</option>
  47. </select> </td>
  48. </tr>
  49. <tr>
  50. <td>价格:</td>
  51. <td><input type="text" name="price" id="price" value="<?php echo $oldbook->lastChild->nodeValue;?>"/></td>
  52. </tr>
  53. <tr>
  54. <td colspan="2"><input type="submit" name="button" id="button" value="修改" />
  55. <input type="button" name="button2" id="button2" value="返回" onclick="location.href='books_admin.php'"/></td>
  56. </tr>
  57. </table>
  58. </form>
  59. </body>
  60. </html>
复制代码

  删除一条图书信息:



太阳http代理AD
回复

使用道具 举报