Créer une fonction.
Résolu
zerdg
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
-
zerdg Messages postés 86 Date d'inscription Statut Membre Dernière intervention -
zerdg Messages postés 86 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un code fonctionnel non fini mais qui fait le plus gros de ce que je veux.
Je souhaiterais l'alléger au possible. Je sais qu'on peut créer des fonctions. J'aimerais donc si c'est possible que vous m'aidiez à remplacer ceci:
Par une fonction.
Merci d'avance pour votre aide.
J'ai un code fonctionnel non fini mais qui fait le plus gros de ce que je veux.
Je souhaiterais l'alléger au possible. Je sais qu'on peut créer des fonctions. J'aimerais donc si c'est possible que vous m'aidiez à remplacer ceci:
$ligne = 2; while($data = $req->fetch()){ $colonne=0; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['identifiant']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['code']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['sexe']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['age']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['composition']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_3ans']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_matpri']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_sec']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreTotalEnfants']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['modeGardeActuel']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['depose']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['organisation']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['choixModeGarde']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['employeur']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['raison']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['maniere']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesLundi']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMardi']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMercredi']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesJeudi']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesVendredi']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesLundiP']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMardiP']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMercrediP']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesJeudiP']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesVendrediP']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['attentes']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['estivale']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['residence']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['remarques']);$colonne++; $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['dateHeure']);$colonne++; $ligne++;//ligne suivante }
Par une fonction.
Merci d'avance pour votre aide.
A voir également:
- Créer une fonction.
- Fonction si et - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
4 réponses
Salut,
Déjà si les valeurs du tableau $data sont biens ordonnées ce qui à l'air d'être le cas tu peux remplacer toutes ces lignes par
Après pour en faire une fonction c'est assez simple mais je visualise pas très bien le comportement que tu veux lui donner, apparemment il y une requête avant, il serait peut être bien de tout englober. Que veux tu exactement dans ta fonction?
Résolu? ===> [RESOLU]
Déjà si les valeurs du tableau $data sont biens ordonnées ce qui à l'air d'être le cas tu peux remplacer toutes ces lignes par
$ligne = 2;
while($data = $req->fetch()){
$colonne=0;
foreach($data as $value){
$sheet->setCellValueByColumnAndRow($colonne, $ligne, $value);
$colonne++;
}
$ligne++;
}
Après pour en faire une fonction c'est assez simple mais je visualise pas très bien le comportement que tu veux lui donner, apparemment il y une requête avant, il serait peut être bien de tout englober. Que veux tu exactement dans ta fonction?
Résolu? ===> [RESOLU]
Je serais tenté de te dire de faire ce qui te semble le plus naturel et compréhensible. Par exemple histoire de compartimenter le code j'aurais fait une fonction responsable de me renvoyer un tableau avec les donnée souhaitées. Par exemple getEmplOui() qui retourne le résultat de ta requête dans un array, puis dans un second temps un fonction MakeTabHtml($array) qui te retourne un string avec la mise en forme html que tu souhaites.
C'est étrange que ça double en bdd car je n'est fais qu'une boucle sur le tableau ^$datas. Si tu fais un var_dump de ton tableau tu es sûr que rien n'est doublé à l'intérieur?
C'est étrange que ça double en bdd car je n'est fais qu'une boucle sur le tableau ^$datas. Si tu fais un var_dump de ton tableau tu es sûr que rien n'est doublé à l'intérieur?
Finalement tu as séparé ton code en fonction ou non?
Je souhaitais juste une méthode qui me permette d'alléger ce code le fait d'utiliser une fonction m'était venu en premier mais utiliser une boucle foreach me convient tout au si bien. De plus je ne suis pas tout à fait au point niveau classe/fonction.
Merci encore d'avoir pris le temps de me répondre.
Merci encore d'avoir pris le temps de me répondre.
J'ai aussi un souci avec ce que tu ma donné il me rempli le tableau mais me répète la même ligne et le contenu des colonnes sont doublé au lieu de m'afficher a b c d
il m'affiche a a b b c c d d.
Mon code faisant + de 1400 lignes je voulais simplement avoir de quoi diminuer sa taille j'ai donc pensé aux fonctions mais je ne savais pas par quoi commencer je pensais en faire une qui me fasse et remplisse un tableau. Donc ce que fait le while mais dans une fonction.