Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнить код при нажатии на кнопку 
:(
    Опции темы
Olegan
  Дата 27.5.2015, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крутой сисадмин
**


Профиль
Группа: Завсегдатай
Сообщений: 752
Регистрация: 15.5.2007

Репутация: нет
Всего: 105



Здравствуйте!

Помогите пожалуйста разобраться как выполнить вот этот код:
Код

$filename = "result.csv"; 
$query = "select name from trm_in_users where store_id = $stor and name != 'admin' and deleted = 0 order by name";  
$tbl = mysql_query($query);  
if(!$tbl) exit("Ошибка выполнения запроса - ".mysql_error());  
if(mysql_num_rows($tbl))  
{  
$line = array();  
while($result = mysql_fetch_row($tbl))  
{  
$line[] = implode(";", $result);  
}  
file_put_contents($filename, implode("\r\n", $line));  

header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=$filename"); 
readfile($filename);

при нажатии на вот это кнопку:
Код

print("<button onclick=\"location.href='index.php'\">Экспорт списка</button> ");

Хотя возможно кнопка должна быть другой.  smile 

Суть в том, что мне нужно сохранить данные из таблицы в excel.

Прошу прощения если несу какой-то бред или вообще не туда залез. В php уровень ниже новичка, т.е. впервые что-то на нем делать пытаюсь.

Спасибо заранее!



--------------------
Цитата(Mayk @  18.6.2008,  14:29 Найти цитируемый пост)
/me объявляет Olegan врагом народа

Цитата(gta4kv @  20.6.2008,  22:01 Найти цитируемый пост)
/me объявляет Olegan врагом народа во второй раз

Цитата(localhost @  15.6.2009,  08:45 Найти цитируемый пост)
/me объявляет Olegan врагом народа в третий раз
PM MAIL   Вверх
sQu1rr
Дата 27.5.2015, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



Нет времени проверять, однако примерно так:
Файл download.php
Код

// хедеры обычно всегда сверху
header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=$filename"); 
// ваш код не проверял, надеюсь он четкий
$filename = "result.csv"; 
$query = "select name from trm_in_users where store_id = $stor and name != 'admin' and deleted = 0 order by name";  
$tbl = mysql_query($query);   // используйте новые функции mysqli_, mysql_ устарели
if(!$tbl) exit("Ошибка выполнения запроса - ".mysql_error());  
if(mysql_num_rows($tbl))  
{  
$line = array();  
while($result = mysql_fetch_row($tbl))  
{  
$line[] = implode(";", $result);  
}  
file_put_contents($filename, implode("\r\n", $line));  

readfile($filename);
// единственный комент что вы записываете результат в файл, а потом его выводите, но зачем если можно сразу вывести:
echo implode("\r\n", $line); // вот так вот


файл index.php
Код

<блаблабла, хтмл, хед боди>
<a href="download.php"><button>Скачать на</button></a>
</блаблабла, хтмл, хед боди>

PM MAIL Skype GTalk   Вверх
Olegan
Дата 27.5.2015, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крутой сисадмин
**


Профиль
Группа: Завсегдатай
Сообщений: 752
Регистрация: 15.5.2007

Репутация: нет
Всего: 105



sQu1rr, вроде дошло.
Тут получается что создается download.php, который выполняется при клике на кнопку на index.php.
А есть ли другой вариант? 
Можно ли обойтись без создания дополнительных файлов? Т.е. прописать и выполнить код внутри самого index.php при клике на кнопку.

Надеюсь понятно написал. smile 


--------------------
Цитата(Mayk @  18.6.2008,  14:29 Найти цитируемый пост)
/me объявляет Olegan врагом народа

Цитата(gta4kv @  20.6.2008,  22:01 Найти цитируемый пост)
/me объявляет Olegan врагом народа во второй раз

Цитата(localhost @  15.6.2009,  08:45 Найти цитируемый пост)
/me объявляет Olegan врагом народа в третий раз
PM MAIL   Вверх
sQu1rr
Дата 27.5.2015, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



Можно
Код

<?php
if (isset($_REQUEST['download'])) {
    echo 'download';
}
?>
<a href="?download"><button>Скачать на</button></a>


Это сообщение отредактировал(а) sQu1rr - 27.5.2015, 13:30
PM MAIL Skype GTalk   Вверх
Olegan
Дата 27.5.2015, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крутой сисадмин
**


Профиль
Группа: Завсегдатай
Сообщений: 752
Регистрация: 15.5.2007

Репутация: нет
Всего: 105



на
Код

<a href="?download"><button>Скачать на</button></a>

ругается.
Цитата

Parse error: syntax error, unexpected '<' in /var/www/localhost/htdocs/client/index.php on line 31


Пишу
Код

print("<a href="?download"><button>Скачать на</button></a>");

снова ругается 
Цитата

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/localhost/htdocs/client/index.php on line 31


Что-то не то делаю да?


--------------------
Цитата(Mayk @  18.6.2008,  14:29 Найти цитируемый пост)
/me объявляет Olegan врагом народа

Цитата(gta4kv @  20.6.2008,  22:01 Найти цитируемый пост)
/me объявляет Olegan врагом народа во второй раз

Цитата(localhost @  15.6.2009,  08:45 Найти цитируемый пост)
/me объявляет Olegan врагом народа в третий раз
PM MAIL   Вверх
sQu1rr
Дата 27.5.2015, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



В первом случае - посмотрите на мою 5ю строчку - ?> - и убедитесь что у вас это есть перед html вставкой
Во втором случае вы не ескейпете ковычки внутри строки
PM MAIL Skype GTalk   Вверх
Olegan
Дата 27.5.2015, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крутой сисадмин
**


Профиль
Группа: Завсегдатай
Сообщений: 752
Регистрация: 15.5.2007

Репутация: нет
Всего: 105



Цитата(sQu1rr @  27.5.2015,  14:54 Найти цитируемый пост)
В первом случае - посмотрите на мою 5ю строчку - ?> - и убедитесь что у вас это есть перед html вставкой

Понял, исправил. Сейчас кнопка работает.

Если использовать
Код

if (isset($_REQUEST['download'])) {
    echo 'download';
}


то в мой код будто не возвращается значение переменной $stor.

тут в самом начале скрипта вот что прописано:
Код

$stor = intval($_REQUEST['stor']);

if($stor < 1)
    err("Надо обязательно выбрать магазин!");
$type = intval($_REQUEST['type']);



--------------------
Цитата(Mayk @  18.6.2008,  14:29 Найти цитируемый пост)
/me объявляет Olegan врагом народа

Цитата(gta4kv @  20.6.2008,  22:01 Найти цитируемый пост)
/me объявляет Olegan врагом народа во второй раз

Цитата(localhost @  15.6.2009,  08:45 Найти цитируемый пост)
/me объявляет Olegan врагом народа в третий раз
PM MAIL   Вверх
sQu1rr
Дата 27.5.2015, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



Цитата(Olegan @  27.5.2015,  13:35 Найти цитируемый пост)
то в мой код будто не возвращается значение переменной $stor.

Вы вообще о чем. этот код отличвается от того что вы привели. мне вообще не понятно что вы пытаетесь сделать.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.