यह एक उचित समाधान नहीं है, बल्कि एक समाधान है:
आप अपने ब्राउज़र से एलीमेंट इंस्पेक्टर का उपयोग करके नियमित क्वेरी परिणाम से किसी भी निर्यात बटन के बाहरी HTML को कॉपी कर सकते हैं और परिणामों को निर्यात करने के लिए कॉल कमांड के परिणाम में पेस्ट कर सकते हैं। कुछ संशोधन आवश्यक हैं।
आपको एंकर टैग को href="tbl_export.php"
. के साथ कॉपी करना चाहिए एक नियमित क्वेरी निर्यात बटन से। ध्यान दें कि <a>
टैग में एक data-post
है विशेषता, जिसमें यूआरएल-एन्कोडेड फॉर्म डेटा होता है। data-post
. के सभी क्षेत्रों में से स्ट्रिंग, हम sql_query
. में रुचि रखते हैं और table
खेत। अर्थात्, हम sql_query
. को बदलना चाहते हैं और दावा करें कि table
फ़ील्ड खाली नहीं है.
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"> Forced Export</span>
</a>
`);
fieldset.appendChild(forced_export_btn);
}
}, 2500);