Affichage dernière ligne dans un foreach
Résolu
Qd
-
jordane45 -
jordane45 -
Bonjour,
Je souhaite modifier le type d'affichage pour ma dernière ligne du foreach. J'ai réussi à faire ce que je souhaite cependant, pour la dernière ligne j'ai du coup celle que j'ai définis et celle qui suit les lignes d'avant. Je voudrais que l'affichage de celle que j'ai rajouté soit affiché uniquement. Mon explications n'est pas très claire je suis désolé... Voici mon code :
EDIT : Correction des balises de code
En espérant que quelqu'un me réponde...
Je souhaite modifier le type d'affichage pour ma dernière ligne du foreach. J'ai réussi à faire ce que je souhaite cependant, pour la dernière ligne j'ai du coup celle que j'ai définis et celle qui suit les lignes d'avant. Je voudrais que l'affichage de celle que j'ai rajouté soit affiché uniquement. Mon explications n'est pas très claire je suis désolé... Voici mon code :
<?php $last_key = end(array_keys($result)); for($i=0; $i<=$total_ligne; $i++) { foreach ($result as $tab => $ligne) { $value = $ligne['document_nom']; if ($tab == $last_key) { echo '<div id="uploader2">'; echo '<div class="row uploadDoc">'; echo '<div class="col-sm-4">'; echo '<div class="docErr">Veuillez choisir votre document au format pdf, jpg, jpeg, png</div>'; echo '<div class="fileUpload btn btn-orange">'; echo '<img src="https://image.flaticon.com/icons/svg/136/136549.svg" class="icon2">'; echo '<span class="upl" id="upload">Parcourir</span>'; echo '<input type="file" class="upload up" name="upload'.$i.'" accept="image/png, image/jpeg, .pdf" id="up" onchange="readURL(this);" required/>'; echo '<div class="invalid-feedback">Document obligatoire.</div></div></div>'; echo '<div class="col-sm-7">'; echo '<input type="text" class="form-control" name="" placeholder="'.$value.'" disabled></div>'; echo '<div class="col-sm-1">'; echo '<a href="#" class="effacer'.$i.'" title="Efface le document"><i class="fas fa-times fa-xs" style="color:red;"></i></a></div>'; echo '</div>'; echo '</div>'; } ?> <div id="uploader"> <div class="row uploadDoc"> <div class="col-sm-4"> <div class="docErr">Veuillez choisir votre document au format pdf, jpg, jpeg, png</div><!--error--> <div class="fileUpload btn btn-orange"> <img src="https://image.flaticon.com/icons/svg/136/136549.svg" class="icon2"> <span class="upl" id="upload">Parcourir</span> <input type="file" class="upload up" name="upload<?php echo $i; ?>" accept="image/png, image/jpeg, .pdf" id="up" onchange="readURL(this);" required/> <div class="invalid-feedback"> Document obligatoire. </div> </div><!-- btn-orange --> </div><!-- col-3 --> <div class="col-sm-7"> <?php echo '<input type="text" class="form-control" name="" placeholder="'.$value.'" disabled>'; ?> </div><!--col-8--> <div class="col-sm-1"> <a href="#" class="effacer<?php echo $i; ?>" title="Efface le document"><i class="fas fa-times fa-xs" style="color:red;"></i></a> </div> </div><!--row--> </div><!--uploader--> <?php $i++; } } ?>
EDIT : Correction des balises de code
En espérant que quelqu'un me réponde...
A voir également:
- Affichage dernière ligne dans un foreach
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Supprimer dernière page word - Guide
- Partager photos en ligne - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
- Mètre en ligne - Guide
4 réponses
Bonjour,
Pas clair... c'est sûr ... les lignes qui suivent avant... heuu.. qui précèdent donc ??
Quoi qu'il en soit :
Fais un print_r de la variable $result
Fais un print_r de la variable $last_key
et montre nous ce que ces variables contiennent.
Pas clair... c'est sûr ... les lignes qui suivent avant... heuu.. qui précèdent donc ??
Quoi qu'il en soit :
Fais un print_r de la variable $result
Fais un print_r de la variable $last_key
et montre nous ce que ces variables contiennent.
Oui c'est vrai que j'aurai du mieux travailler ma phrase. Je ferai attention pour les prochaines fois...
Sinon pour la variable $result en faisant un print_r j'obtiens :
Puis pour $last_key : 7
Le seul soucis c'est juste l'affichage de ma dernière ligne.
Sinon pour la variable $result en faisant un print_r j'obtiens :
Array ( [0] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => Carte Identite [document_obligatoire] => 1 ) [1] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => Diplome [document_obligatoire] => 1 ) [2] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => CV [document_obligatoire] => ) [3] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => Attestation CPAM [document_obligatoire] => ) [4] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => RIB [document_obligatoire] => ) [5] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => Exemplaire Feuille de Soins [document_obligatoire] => ) [6] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => Attestation d'Inscription conseil Departemental [document_obligatoire] => 1 ) [7] => Array ( [document_fonction] => 2 [document_soc] => 30 [document_nom] => RCP [document_obligatoire] => 1 ) )
Puis pour $last_key : 7
Le seul soucis c'est juste l'affichage de ma dernière ligne.
Non en faite j'affiche mes résultats issu de ma BDD normalement sauf pour la toute dernière ligne car je veux qu'il ait une appellation différente au niveau de l'id que j'ai nommé "uploader2" pour pouvoir traiter un code J.S. Donc l'affichage des autres lignes sont importantes sauf pour la dernière que je veux en quelques sorte "écraser"
Je ne peux pas empêcher d'afficher la dernière ligne de mon foreach et afficher que celle contenu dans mon if ?
et qu'est ce qui n'est pas dans le code que je montre ?
j'ai mon if qui s'affiche uniquement lors de ma dernière ligne avec "uploader2" :
Puis pour l'affichage de toutes les lignes DONT la dernière que je veux enlever qui possède cette fois "uploader" j'ai :
Je pense que c'est bien le code que je montre juste qu'il faudrait enlever la dernière ligne qui s'affiche de cette manière
et qu'est ce qui n'est pas dans le code que je montre ?
j'ai mon if qui s'affiche uniquement lors de ma dernière ligne avec "uploader2" :
if ($tab == $last_key) { echo '<div id="uploader2">'; // c'est cet id qui change par rapport a toutes les autres ligne que j'affiche echo '<div class="row uploadDoc">'; echo '<div class="col-sm-4">'; echo '<div class="docErr">Veuillez choisir votre document au format pdf, jpg, jpeg, png</div>'; echo '<div class="fileUpload btn btn-orange">'; echo '<img src="https://image.flaticon.com/icons/svg/136/136549.svg" class="icon2">'; echo '<span class="upl" id="upload">Parcourir</span>'; echo '<input type="file" class="upload up" name="upload'.$i.'" accept="image/png, image/jpeg, .pdf" id="up" onchange="readURL(this);" required/>'; echo '<div class="invalid-feedback">Document obligatoire.</div></div></div>'; echo '<div class="col-sm-7">'; echo '<input type="text" class="form-control" name="" placeholder="'.$value.'" disabled></div>'; echo '<div class="col-sm-1">'; echo '<a href="#" class="effacer'.$i.'" title="Efface le document"><i class="fas fa-times fa-xs" style="color:red;"></i></a></div>'; echo '</div>'; echo '</div>'; }
Puis pour l'affichage de toutes les lignes DONT la dernière que je veux enlever qui possède cette fois "uploader" j'ai :
<div id="uploader"> <div class="row uploadDoc"> <div class="col-sm-4"> <div class="docErr">Veuillez choisir votre document au format pdf, jpg, jpeg, png</div><!--error--> <div class="fileUpload btn btn-orange"> <img src="https://image.flaticon.com/icons/svg/136/136549.svg" class="icon2"> <span class="upl" id="upload">Parcourir</span> <input type="file" class="upload up" name="upload<?php echo $i; ?>" accept="image/png, image/jpeg, .pdf" id="up" onchange="readURL(this);" required/> <div class="invalid-feedback"> Document obligatoire. </div> </div><!-- btn-orange --> </div><!-- col-3 --> <div class="col-sm-7"> <?php echo '<input type="text" class="form-control" name="" placeholder="'.$value.'" disabled>'; ?> </div><!--col-8--> <div class="col-sm-1"> <a href="#" class="effacer<?php echo $i; ?>" title="Efface le document"><i class="fas fa-times fa-xs" style="color:red;"></i></a> </div> </div><!--row--> </div><!--uploader-->
Je pense que c'est bien le code que je montre juste qu'il faudrait enlever la dernière ligne qui s'affiche de cette manière
EDIT : Correction des balises de code.... encore !!
...
Déjà, pour poster ton code correctement, merci d'y indiquer le LANGAGE afin d'avoir la coloration syntaxique.
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, concernant ta demande ... je ne m'étais arrêté que sur le code php ...
En effet, tu es au "bon endroit" .. pas contre .. tu as oublié de mettre un ELSE ...
En gros.. si tu es sur la dernière ligne.. faire ton truc .. sinon... afficher "normalement" ..
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, concernant ta demande ... je ne m'étais arrêté que sur le code php ...
En effet, tu es au "bon endroit" .. pas contre .. tu as oublié de mettre un ELSE ...
En gros.. si tu es sur la dernière ligne.. faire ton truc .. sinon... afficher "normalement" ..
Pour le coup c'est la deuxième fois que je poste sur un forum et je ne savais pas qu'il fallait choisir le langage pour l'affichage du code, je m'en excuse.
Merci pour le lien que tu m'as proposé.
Oui pour le coup je me sens un peu bête de mon erreur j'ai rajouté le Else et cette fois-ci mon code fonctionne. Je te remercie pour tes réponses rapides et de m'avoir bien aidé. Bonne continuation !
Merci pour le lien que tu m'as proposé.
Oui pour le coup je me sens un peu bête de mon erreur j'ai rajouté le Else et cette fois-ci mon code fonctionne. Je te remercie pour tes réponses rapides et de m'avoir bien aidé. Bonne continuation !