phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Kết quả quy trình xuất PhpMyAdmin

Đây không phải là một giải pháp thích hợp mà là một giải pháp thay thế:

Bạn có thể sao chép HTML bên ngoài của bất kỳ nút xuất nào từ kết quả truy vấn thông thường bằng trình kiểm tra phần tử từ trình duyệt của bạn và dán nó vào kết quả của lệnh CALL để xuất kết quả. Một số sửa đổi là cần thiết.

Bạn nên sao chép thẻ liên kết với href="tbl_export.php" từ một nút xuất truy vấn thông thường. Lưu ý rằng <a> thẻ có data-post thuộc tính này, chứa dữ liệu biểu mẫu được mã hóa url. Trong số tất cả các trường của data-post chuỗi, chúng tôi quan tâm đến sql_querytable lĩnh vực. Cụ thể, chúng tôi muốn thay thế sql_query và khẳng định rằng table trường không trống.

Khi thực hiện lệnh CALL trong PhpMyAdmin, bạn phải mở trình kiểm tra phần tử tại tập trường ở cuối trang, dán HTML bên ngoài đã sao chép làm con cuối cùng của tập trường và chỉnh sửa sql_query giá trị khớp với giá trị của sql_query trong Tạo Chế độ xem lân cận nút.

Tập lệnh Greasemonkey sau đây tự động thực hiện tất cả những điều trên và tạo nút "Xuất khẩu bắt buộc" khi có thể:

// ==UserScript==
// @name      Force export button in phpMyAdmin
// @namespace https://<your phpmyadmin host>/*
// @include   https://<your phpmyadmin host>/*
// @version   1
// @grant     none
// ==/UserScript==

setInterval(function() {
  // See https://stackoverflow.com/a/35385518/5254685
  /**
   * @param {String} HTML representing a single element
   * @return {Element}
   */
  function htmlToElement(html) {
      var template = document.createElement('template');
      html = html.trim(); // Never return a text node of whitespace as the result
      template.innerHTML = html;
      return template.content.firstChild;
  }

  let create_view_a = document.querySelector('span>a.create_view');
 
  if (create_view_a == null) {
    return;
  }
  
  if (document.querySelector('a[href="tbl_export.php"]') != null) {
    return;
  }

  let data_post = create_view_a.getAttribute('data-post');

  let fieldset = create_view_a.parentElement.parentElement;
  
  let form_data = Object.fromEntries(
    data_post.split('&').map(v => v.split('=', 2))
    );


  if (form_data['table']) {
    let forced_export_btn = htmlToElement(`
      <a href="tbl_export.php" data-post="${data_post}">
        <span class="nowrap"><img src="themes/dot.gif" title="Export" alt="Export" class="icon ic_b_tblexport">&nbsp;Forced Export</span>
      </a>
    `);
    fieldset.appendChild(forced_export_btn);
  }
}, 2500);



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Loại báo cáo không được công nhận. (gần VỚI ở vị trí 0)

  2. Cách cập nhật / Chèn ngày ngẫu nhiên trong SQL trong một Phạm vi ngày cụ thể

  3. MYSQL 8.0 - định dạng nhật ký làm lại không được hỗ trợ

  4. PhpMyAdmin đang làm gì với truy vấn UNION ALL của tôi?

  5. Nhập dữ liệu UTF8 vào MySQL một cách thuận tiện