Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2013, 13:01   #1
student2008
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 31
По умолчанию PHP: Передача данных из MYSQL в Excel

Добрый день, уважаемые разработчики!
Возникла следующая проблема: в MYSQL-базе данных есть таблица "mdl_attendance_sessions" и в ней поле "description" c типом данных "text". Нужно, чтобы в скачиваемую с сервера экселевскую таблицу вносились данные из этого поля. Долго экспериментировал с кодом, но вместо данных из поля выводит почему-то [[description]]. Как можно это исправить? Вот фрагмент кода.

Код:
 
        $filename = clean_filename($course->shortname.'_Attendances_'.userdate(time(), '%Y%m%d-%H%M'));
        $group = $formdata->group ? $reportdata->groups[$formdata->group] : 0;
        $data = new stdClass;
        $data->tabhead = array();
$data->tabhead1 = array();                                              //создаём новый массив
        $data->course = $att->course->fullname;
        $data->group = $group ? $group->name : get_string('allparticipants');

        
  if (isset($formdata->ident['sdescription'])) {
  $data->tabhead1[] = get_string('description', 'attendance_sessions');  //берём из базы содержимое поля "description"   
        }
        
         if (count($reportdata->sessions) > 0) {
            foreach($reportdata->sessions as $sess) {
                $text = userdate($sess->sessdate, get_string('strftimedmyhm', 'attforblock'));
                $text .= ' ';
                $text .= $sess->groupid ? $reportdata->groups[$sess->groupid]->name : get_string('commonsession', 'attforblock');
                $data->tabhead[] = $text;
            }
        } else {
            print_error('sessionsnotfound', 'attforblock', $att->url_manage());
        }
 if (count($reportdata->sessions) > 0) {
         foreach($reportdata->sessions as $sess) {
         $text = userdate($sess->description, get_string('description', 'attendance_sessions'));       //Сохраняем в переменную text
         $data->tabhead1[] = $text;
            }
        } 
        }        
function ExportToTableEd($data, $filename, $format) {
	global $CFG;

    if ($format === 'excel') {
	    require_once("$CFG->libdir/excellib.class.php");
	    $filename .= ".xls";
	    $workbook = new MoodleExcelWorkbook("-");
    } else {
	    require_once("$CFG->libdir/odslib.class.php");
	    $filename .= ".ods";
	    $workbook = new MoodleODSWorkbook("-");
    }
/// Sending HTTP headers
    $workbook->send($filename);
/// Creating the first worksheet
    $myxls =& $workbook->add_worksheet('Attendances');
/// format types
    $formatbc =& $workbook->add_format();
    $formatbc->set_bold(1);

    $myxls->write(0, 0, get_string('course'), $formatbc);
    $myxls->write(0, 1, $data->course);
    $myxls->write(1, 0, get_string('group'), $formatbc);
    $myxls->write(1, 1, $data->group);

    $i = 3;                                                //номер строки
    $j = 4;                                               // номер столбца
                                                           
    foreach ($data->tabhead1 as $cell) {         //начинаем запись данных в строку таблицы
        $myxls->write($i, $j++, $cell, $formatbc);
    }
    //
    $i = 4; 
    $j = 0;
    foreach ($data->tabhead as $cell) {
    	$myxls->write($i, $j++, $cell, $formatbc);
    }
    $i++;
    $j = 0;
    foreach ($data->table as $row) {
    	foreach ($row as $cell) {
    		$myxls->write($i, $j++, $cell);
    	}
		$i++;
		$j = 0;
    }
	$workbook->close();
}

    }

Последний раз редактировалось student2008; 14.05.2013 в 03:26.
student2008 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача данных из mysql в select option Dominatorsha PHP 5 15.08.2012 19:48
Передача данных с php в js Natysya PHP 1 26.05.2011 17:10
Передача массива данных Mysql snikers987 PHP 10 19.04.2011 23:24
Передача данных php-скрипту mikhea PHP 8 26.06.2010 22:12
Передача данных php скрипту Черничный Работа с сетью в Delphi 3 11.11.2008 08:56