Я создал в PHP календарь, чтобы показать моему боссу мои праздники.Заполните матрицу в PHPEXCEL с данными из базы данных
Календарь отлично работает.
Я должен экспортировать данные календаря в листе Excel в следующем формате:
Я хотел бы знать, как я могу поставить крест в этой таблице в марте 09, если я возьму праздник на марше 9.
Я попытался это, но мой путь, кажется, не самый лучший способ:
Я начинаю в первой ячейке, и я просмотреть всю ячейку, если я найду отпуск, я положил пересекать.
EDIT я изменить свой код на советы Марка (смотри ниже)
$sql = "SELECT id, nom, prenom FROM utilisateurs";
$fiches = $bdd->prepare($sql);
$users = $fiches->execute();
$user_number = 0;
$res = $fiches->fetchAll(PDO::FETCH_OBJ);
$ligne = 0;
foreach($res as $user)
{
$ligne = 1;
$user_number++;
$objPHPExcel->createSheet($user_number);
$objPHPExcel->setActiveSheetIndex($user_number);
$objPHPExcel->getActiveSheet()->setTitle($user->nom);
$ligne++;
$num_jours = cal_days_in_month(CAL_GREGORIAN, $month, $annee_en_cours);
$col = 'A';
$sql = "SELECT jour, commentaire
FROM reservations
WHERE id_user = ".$user->id;
$sql.= " ORDER BY jour";
echo $sql.'<br />';
$req = $bdd->prepare($sql);
$execution = $req->execute();
$res = $req->fetchAll(PDO::FETCH_OBJ);
echo '<pre>';
print_r($res);
echo '</pre>';
if (count($res) > 0)
{
$objPHPExcel->getActiveSheet()->SetCellValue($col.$ligne, $res[0]->jour);
}
echo $col.$ligne.'</br />';
$col++;
$ii = 1;
for($col = 'A'; $col !== 'AF'; $col++)
{
$objPHPExcel->getActiveSheet()->SetCellValue($col.'1', $ii);
}
}
я получаю это:
SELECT jour, commentaire FROM reservations WHERE id_user = 57 ORDER BY jour
Массив ( [0] => StdClass Object ( [jour] => 2014_08_14_AM [комментарий] => )
[1] => stdClass Object
(
[jour] => 2014_10_02_AM
[commentaire] =>
)
[2] => stdClass Object
(
[jour] => 2014_10_16_AM
[commentaire] =>
)
[3] => stdClass Object
(
[jour] => 2014_11_05_AM
[commentaire] =>
)
[4] => stdClass Object
(
[jour] => 2014_11_06_AM
[commentaire] =>
)
[5] => stdClass Object
(
[jour] => 2014_12_03_AM
[commentaire] =>
)
[6] => stdClass Object
(
[jour] => 2014_12_10_AM
[commentaire] =>
)
)
А2 SELECT, Jour, Commentaire ОТ оговорок ГДЕ id_user = 58 ORDER BY Jour
Массив ( [0] => StdClass Object ( [Jour] => 2014_06_03_AM [комментарий] => )
[1] => stdClass Object
(
[jour] => 2014_06_12_AM
[commentaire] =>
)
[2] => stdClass Object
(
[jour] => 2014_06_17_AM
[commentaire] =>
)
[3] => stdClass Object
(
[jour] => 2014_08_01_AM
[commentaire] =>
)
[4] => stdClass Object
(
[jour] => 2014_08_07_AM
[commentaire] =>
)
[5] => stdClass Object
(
[jour] => 2014_12_01_AM
[commentaire] => test
)
[6] => stdClass Object
(
[jour] => 2014_12_03_AM
[commentaire] =>
)
[7] => stdClass Object
(
[jour] => 2014_12_11_AM
[commentaire] => test
)
[8] => stdClass Object
(
[jour] => 2014_12_24_AM
[commentaire] => test
)
[9] => stdClass Object
(
[jour] => 2015_01_01_AM
[commentaire] =>
)
)
А2 SELECT, Jour, Commentaire ОТ оговорок ГДЕ id_user = 59 ORDER BY Jour
Массив ( [0] => StdClass Object ( [Jour] => 2014_12_03_AM [Commentaire] => )
[1] => stdClass Object
(
[jour] => 2014_12_04_AM
[commentaire] =>
)
)
A2 Execution OK, veuillez cliquer pour sauvegarder le document Это не лучший способ, у вас есть идея?