Я следил за этим сообщением http://www.the-art-of-web.com/php/dataexport/ и успешно создавал экспорт в файл csv из базы данных, основываясь на текущем поиске пользователя. Но для предотвращения попадания в db в то время как экспорт происходит, поэтому я отключу экспорт, если в представлении или запросе пользователя нет изменений. Проблема, с которой я сталкиваюсь, - это когда пользователь нажимает на экспорт файла, сохраняя его, когда открывается диалоговое окно подтверждения, и если пользователь передумал нажать на отмену. Кнопка экспорта остается отключенной. Единственный способ вернуть пользователя - это изменить запрос и вернуться обратно.Как сохранить файл сохранить как отменить ответ
Мой вопрос в любом случае, я мог бы зафиксировать отменить клик по нажатию на файл сохранить в качестве диалогового окна подтверждения.
Благодаря
код очень похож на http://www.the-art-of-web.com/php/dataexport/ Где, как вид будет сетка с кучей информации о клиенте из заданного диапазона дат. Если пользователю нравится вид, который они выбирают. Они нажмут кнопку экспорта.
образец кода export.php
function exportCSV(){
document.getElementById("exportCSV").src = "test1.php";
document.getElementById("exportBtn").disabled = true;
}
function performSearch(){
//perform search get result and display
//if resultset length > 0
document.getElementById("exportBtn").disabled = false;
}
Сетка дисплей здесь < кнопка ID = "поиск" OnClick = "performSearch()"> Поиск
< кнопка ID = "exportBtn" OnClick =» не exportCSV() "> Экспорт
< IFrame ID =" «стиль = "exportCSV дисплей: нет"/>
test1.php
$ данных = массив (
массива ("Имя" => "Мэри", "фамилия" => "Джонсон", "возраст" => 25),
массива ("Firstname" => "Аманда" , «lastname» => «Miller», «age» => 18),
массив («firstname» => «James», «lastname» => «Brown», «age» => 31),
массив («firstname» => «Patricia», «lastname» => «Williams», «age» => 7),
массив («firstname» => «Michael», «lastname» => «Davis», "age" => 43),
массив ("firstname" => "Sarah", "lastname" => "Miller", "age" => 24),
массив ("firstname" => "Patrick" , "lastname" => "Miller", "a ge "=> 27)
);
# имя файла для скачивания $ filename = "website_data.xls";
header ("Content-Disposition: application/octet-stream; filename = \" $ filename \ "");
header («Content-Type: application/vnd.ms-excel»);
$ flag = false;
Еогеасп ($ данные в виде $ строки) {
если (! $ Флаг) {
# поле отображения/имена столбцов в первой строке
эхо взрывать ("\ т", array_keys ($ строка)). "\ П";
$ flag = true;
}
array_walk ($ row, 'cleanData');
echo implode ("\ t", array_values ($ row))."\ П";
}
выход;
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
, пожалуйста, отправьте код, также вам не нужно иметь несколько восклицательных знаков в заголовке – Woot4Moo
показать нам javascript – Galen
Код очень похож на http://www.the-art-of-web.com/ php/dataexport/Где в качестве представления будет сетка с информацией о клиенте с заданным диапазоном дат. Если пользователю нравится вид, который они выбирают. Они нажмут кнопку экспорта. – user332951