sql >> Database >  >> Database Tools >> phpMyAdmin

Resultaat van exportprocedure voor PHPMyAdmin

Dit is geen goede oplossing, maar eerder een tijdelijke oplossing:

U kunt de buitenste HTML van elke exportknop van een normaal zoekresultaat kopiëren met behulp van de elementinspecteur van uw browser en deze in het resultaat van een CALL-opdracht plakken om de resultaten te exporteren. Er zijn enkele aanpassingen nodig.

Kopieer de ankertag met href="tbl_export.php" van een reguliere query-exportknop. Merk op dat de <a> tag heeft een data-post attribuut, dat url-gecodeerde formuliergegevens bevat. Onder alle velden van de data-post string, zijn we geïnteresseerd in de sql_query en table velden. We willen namelijk de sql_query . vervangen en stel dat de table veld is niet leeg.

Bij het uitvoeren van een CALL-commando in PhpMyAdmin moet u de elementinspecteur openen in de veldset onderaan de pagina, de gekopieerde buitenste HTML plakken als het laatste kind van de veldenset en de sql_query bewerken waarde die overeenkomt met de waarde van de sql_query in de aangrenzende Weergave maken knop.

Het volgende Greasemonkey-script doet al het bovenstaande automatisch en maakt waar mogelijk een "Forced Export"-knop:

// ==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. Hoe verander ik de kolomnamen van een database gemaakt door Django (van models.py)?

  2. Ik heb verschillende opgeslagen procedures gemaakt in phpmyadmin, hoe kan ik ze aanroepen met een sql-query?

  3. Een uitgestelde beperking definiëren in MySQL

  4. Hoe kan ik een sneltoets programmeren om de top 1000* uit de geselecteerde tabel te selecteren?