[RESOLU] écrire un pdf avec html2pdf

Eléphant du PHP | 89 Messages

16 oct. 2022, 15:30

Bonjour, voilà j'ai besoin d'écrire un pdf avec html2pdf cependant je ne vois pas comment faire pour écrire ce que j'ai besoin dedans.

Avant d'écrire ce pdf je récupère des données enregistrer dans des bdd mysql et j'arrive à écrire ce que je veux avec une présentation qui me plait sur la page internet mais je ne vois pas comment l'intégrer au code créant le pdf (voici le code que j'utilise sur la page internet)

Code : Tout sélectionner

$competences = []; foreach ($results as $row) { if (!array_key_exists($row['nomCategorie'], $competences)) { $competences[$row['nomCategorie']] = []; } $competences[$row['nomCategorie']][] = $row; } foreach ($competences as $competenceLabel => $competenceRows): echo "<b><i>".$competenceLabel."</i></b><br>" ; foreach ($competenceRows as $competence): echo "<blockquote>".ucfirst($competence['nomCompetence'])."</blockquote>" ; endforeach; endforeach;
(j'ai mis le $competences afin de vous montrer ce qu'il contient mais le plus important est après)

Y a t il moyen de mettre les 6 dernières lignes dans une variable où une fonction que l'on appellerai lors de la création du pdf ?

Mammouth du PHP | 1967 Messages

17 oct. 2022, 08:59

remplace tes echo par l'assignation à une variable avec .= tu auras ton code html dans cette variable à la fin de tes boucles.

Petit conseil ne mélange pas les syntaxe de boucle dans le même code, reste cohérent dans tout ton code.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 89 Messages

17 oct. 2022, 17:36

remplace tes echo par l'assignation à une variable avec .= tu auras ton code html dans cette variable à la fin de tes boucles.

Petit conseil ne mélange pas les syntaxe de boucle dans le même code, reste cohérent dans tout ton code.
Merci pour ton conseil cependant je me retrouve avec un problème (que tu ne pouvais pas savoir car je ne l'ai pas préciser) mais en gros le code que j'avais sert à écrire ce que je récupère de ma BDD cependant lorsque je remplace les echo par des $mavariable = je ne peux écrire que le dernier caractère de la BDD qui a été récupérer

Plus concrètement avec les echo j'ai :

Agir, s'exprimer, comprendre à travers l'éducation artistique

Dfbytd

Savoir écrire

Explorer le monde

Observer

qui s'affiche mais quand je remplace les echo par des variable j'obtiens :

Explorer le monde

Observer

ai-je mal compris ta réponse ou faut il s'y prendre autrement ?

Mammouth du PHP | 1967 Messages

17 oct. 2022, 20:29

Oui il y a un point juste avant le =
$var = 'test1';
echo $var; //test1
$var = 'test2';
echo $var; //test2


$var = 'test1';
echo $var; //test1
$var .= 'test2';
echo $var; //test1test2
remarque que je n'ai mis le point que sur le deuxième (et je l'aurai mis sur tous les suivants) car si tu as mis le niveau d'erreur en strict, tu aura une notice lors de la 1ère fois car la variable n'est pas initié.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 89 Messages

17 oct. 2022, 21:32

Ha oui en effet maintenant j'ai tout qui s'affiche mais j'ai une question car du coup je n'ai plus la classification comme je l'avais avant (la première variable contenait un nom de catégorie et la seconde variable contenait ce qui avait été validé dans cette catégorie hors maintenant tous se retrouve mélanger. Y a t il une solution pour tous réorganiser comme c'était avant ?

Mammouth du PHP | 1967 Messages

17 oct. 2022, 22:09

ne rempli qu'une seule variable pour chaque echo, c'est le html que tu y met qui différenciera l'affichage
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 89 Messages

17 oct. 2022, 22:31

Ah oui en effet j'ai mis deux variables alors qu'il suffisait d'en mettre une seul merci beaucoup