国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

173 lines
7.0KB

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
  6. <title>数据批量替换</title>
  7. <script language="javascript" src="../static/js/jquery.js"></script>
  8. <script language="javascript" src="../static/js/bootstrap.bundle.js"></script>
  9. <script language="javascript" src="js/main.js"></script>
  10. <script language='javascript' src='../static/js/dedeajax2.js'></script>
  11. <script language='javascript'>
  12. function ShowFields() {
  13. var exptable = $DE('exptable').options[$DE('exptable').selectedIndex].value;
  14. var queryUrl = "sys_data_replace.php?exptable=" + exptable + "&action=getfields";
  15. var myajax = new DedeAjax($DE('fields'), true, true, '', 'x', '...');
  16. myajax.SendGet(queryUrl);
  17. }
  18. function CheckSubmit() {
  19. if ($DE('rpfield').value == "") {
  20. ShowMsg("你选择的操作为手工指定字段,但你并没指定!");
  21. return false;
  22. }
  23. if ($DE('rpstring').value == "") {
  24. ShowMsg("你没指定要替换的字符串!");
  25. return false;
  26. }
  27. return true;
  28. }
  29. function pf(v) {
  30. $DE('rpfield').value = v;
  31. }
  32. </script>
  33. <link rel="stylesheet" href="../static/css/bootstrap.min.css">
  34. <link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
  35. <link href="css/base.css" rel="stylesheet" type="text/css" />
  36. </head>
  37. <body>
  38. <div class="bodytitle mt-3">
  39. <div class="bodytitleleft"></div>
  40. <div class="bodytitletxt" style="padding-left:10px;">批量管理</div>
  41. </div>
  42. <table width="98%" border="0" cellpadding="1" cellspacing="1" align="center" class="table maintable table-bordered"
  43. style=" background:#CFCFCF;">
  44. <form action="sys_data_replace.php" name="form1" method="post" target="stafrm" onSubmit="return CheckSubmit()">
  45. <input type='hidden' name='action' value='apply'>
  46. <tr>
  47. <td height="28" bgcolor="#EDF9D5" background="images/tbg.gif" style="padding-left:10px;">
  48. <strong>数据库内容替换:</strong>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td bgcolor="#FFFFFF">
  53. <table width="100%" border="0" cellpadding="2" cellspacing="2" class="table table-borderless">
  54. <tr bgcolor="#FFFFFF">
  55. <td colspan="2" style="line-height:180%">
  56. <div class="alert alert-info" role="alert">
  57. <i class="fa fa-info-circle" aria-hidden="true"></i> 程序用于批量替换数据库中某字段的内容,此操作极为危险,请小心使用。
  58. </div>
  59. </td>
  60. </tr>
  61. <tr id='datasel'>
  62. <td width="15%" height="66">&nbsp;选择数据表与字段:</td>
  63. <td>
  64. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  65. <tr>
  66. <td id="tables">
  67. <?php
  68. $dsql->SetQuery("Show Tables");
  69. $dsql->Execute('t');
  70. if($dsql->GetError()!=''){
  71. echo "<font color='red'>找不到你所指定的数据库! $dbname</font><br>";
  72. echo $qbutton;
  73. }
  74. echo "<select name='exptable' id='exptable' size='10' style='width:60%;height: 220px;' onchange='ShowFields()'>\r\n";
  75. while($row = $dsql->GetArray('t',MYSQL_BOTH)){
  76. echo "<option value='{$row[0]}'>{$row[0]}</option>\r\n";
  77. }
  78. echo "</select>\r\n";
  79. $dsql->Close();
  80. ?> </td>
  81. </tr>
  82. <tr>
  83. <td id='fields'></td>
  84. </tr>
  85. <tr>
  86. <td height="28"> 要替换的字段:
  87. <input name="rpfield" type="text" id="rpfield" class="alltxt" />
  88. </td>
  89. </tr>
  90. </table>
  91. </td>
  92. </tr>
  93. <tr bgcolor="#FBFCE2">
  94. <td>&nbsp;替换方式:</td>
  95. <td>
  96. <label><input name="rptype" type="radio" id="ot1" value="replace" checked='1' class='np' />
  97. 普通替换</label>
  98. <label><input type="radio" name="rptype" id="ot2" value="regex" class='np' />
  99. 正则表达式</label> 主键字段:
  100. <input name="keyfield" type="text" id="keyfield" size="12" class="alltxt" />
  101. (正则模式必须指定)
  102. </td>
  103. </tr>
  104. <tr>
  105. <td>&nbsp;被替换内容:</td>
  106. <td><textarea name="rpstring" id="rpstring" class="alltxt" style="width:60%;height:50px"></textarea></td>
  107. </tr>
  108. <tr>
  109. <td>&nbsp;替换为:</td>
  110. <td><textarea name="tostring" id="tostring" class="alltxt" style="width:60%;height:50px"></textarea></td>
  111. </tr>
  112. <tr>
  113. <td height="29">&nbsp;替换条件:</td>
  114. <td><input name="condition" type="text" id="condition" style="width:45%" class="alltxt" />
  115. (空完全替换)</td>
  116. </tr>
  117. <tr>
  118. <td height="29">&nbsp;安全确认码:</td>
  119. <td>
  120. <table width="300" border="0" cellspacing="0" cellpadding="0">
  121. <tr>
  122. <td width="90">
  123. <input type="text" name="validate" class="alltxt" style="width:80px;text-transform: uppercase;" />
  124. </td>
  125. <td>
  126. <img src='../plus/vdimgck.php' />
  127. </td>
  128. </tr>
  129. </table>
  130. </td>
  131. </tr>
  132. </table>
  133. </td>
  134. </tr>
  135. <tr>
  136. <td height="31" bgcolor="#ffffff" align="center">
  137. <button type="submit" name="Submit" class="btn btn-secondary">开始替换数据</button>
  138. </td>
  139. </tr>
  140. </form>
  141. <tr bgcolor="#F9FCEF">
  142. <td height="20">
  143. <table width="100%" class="table table-borderless">
  144. <tr>
  145. <td width="74%"><strong>结果:</strong></td>
  146. <td width="26%" align="right">
  147. <script language='javascript'>
  148. function ResizeDiv(obj, ty) {
  149. if (ty == "+") document.all[obj].style.pixelHeight += 50;
  150. else if (document.all[obj].style.pixelHeight > 80) document.all[obj].style.pixelHeight = document.all[obj].style.pixelHeight - 50;
  151. }
  152. </script>
  153. [<a href='#' onClick="ResizeDiv('mdv','+');">增大</a>] [<a href='#' onClick="ResizeDiv('mdv','-');">缩小</a>]
  154. </td>
  155. </tr>
  156. </table>
  157. </td>
  158. </tr>
  159. <tr bgcolor="#FFFFFF">
  160. <td id="mtd">
  161. <div id='mdv' style='width:100%;height:250px;'>
  162. <iframe name="stafrm" frameborder="0" id="stafrm" width="100%" height="100%"></iframe>
  163. </div>
  164. </td>
  165. </tr>
  166. </table>
  167. </body>
  168. </html>