phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Резултат от процедурата за експортиране на PhpMyAdmin

Това не е правилно решение, а по-скоро заобиколно решение:

Можете да копирате външния HTML на всеки бутон за експортиране от обикновен резултат от заявка, като използвате инспектора на елементи от вашия браузър и да го поставите в резултата от команда CALL, за да експортирате резултатите. Необходими са някои модификации.

Трябва да копирате маркера за закрепване с href="tbl_export.php" от обикновен бутон за експортиране на заявка. Обърнете внимание, че <a> маркерът има data-post атрибут, който съдържа данни за формуляр, кодиран url. Сред всички полета на data-post низ, ние се интересуваме от sql_query и table полета. А именно, искаме да заменим sql_query и твърдят, че table полето не е празно.

Когато изпълнявате команда CALL в PhpMyAdmin, трябва да отворите инспектора на елементи в набора от полета в долната част на страницата, да поставите копирания външен HTML като последно дъщерно на набора от полета и да редактирате sql_query стойност, за да съответства на стойността на sql_query в съседния Създаване на изглед бутон.

Следният скрипт на Greasemonkey прави всичко по-горе автоматично и създава бутон „Принудително експортиране“, когато е възможно:

// ==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. JDBC:свързване с отдалечена база данни mySQL?

  2. Импортиране на бази данни и таблици с PhpMyAdmin

  3. MySQL казва:Не може да се свърже:невалидни настройки

  4. Грешка при синтактичния анализ на данните org.json.JSONException:Стойността <!DOCTYPE от тип java.lang.String не може да бъде преобразувана в JSONObject

  5. MySQL заявка за търсене на запис в пълна база данни