Afficher un array dans un tableau html [Résolu]

Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
- - Dernière réponse : xzonz
Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
- 18 oct. 2011 à 18:53
salut a toutes et tous

voici ma question:

j'ai un array() unidimensionnel qui peut contenir x éléments (selon les cas)
de type

et j'aimerais afficher le contenu de ce array()
dans un tableau html de 7 colonnes.
(aucune importance pour le nombre de lignes)

ca ne marche pas !!
j'ai cherché sur le net mais rien trouvé
de bien clair ...

auriez vous la gentillesse de me montrer un
exemple que je puisse comprendre et re utiliser.

merci pour votre aide

Franck
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
1
Merci
<script type="text/javascript">
var arImg=new Array();//Création du tableau d'images
arImg[0]="img1.jpg";//affectation des images aux éléments du tableau
arImg[1]="img2.jpg";
...
...
...
arImg[n]="imgx.jpg";

function showImg() {
/*Fonction d'affichage des images dans un tableau HTML de 7 colonnes et de nbLn lignes */
var tbs=document.createElement("table");//Création du tableau HTML
var n=0;//Initialisation des variables des boucles for
var m=0;
//Calcul du nombre de lignes
if ((arImg.length % 7) > 0) {//Division du nombre d'image par 7
var nbLn=Math.floor(arImg.length / 7) + 1;//division non entière
}
else {
var nbLn=arImg.length / 7;//division entière
}
var ptImg=0; //Pointeur image
for (n=0;n<nbLn;n++) {//Insertion des lignes du tableau
var tln=tbs.insertRow[n];
for (m=0;m<7;m++) {//Insertion des cellules dans les lignes
var tcel=tln.insertCell[m];
if (ptImg

Mon script avec beaucoup plus de commentaires afin que vous compreniez mieux
le fonctionnement de la fonction showImg().

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jperre
Messages postés
1717
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2019
47
0
Merci
bonjour voila un exemple qui crée un tableau, ajoute une ligne puis ajoute des colonne dans lesquelles on crée une balise img que l'on alimente par un array

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" type="text/javascript">

tbgema= new Array('5.jpg','32.jpg','33.jpg','34.jpg','71.jpg','78.jpg','83.jpg','89.jpg','92.jpg','10.jpg')

function ttb(){

var tbs=document.createElement('table');

tbs.insertRow(-1)


for(var i = 0; i < tbgema.length; i++) {

tbs.rows[0].insertCell(i)
var igm=document.createElement('img')
igm.src=tbgema[i];
tbs.rows[0].cells[i].appendChild(igm);

}

document.body.appendChild(tbs);

}
</script>
</head>

marche

</html>
Commenter la réponse de @karamel
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
0
Merci
Moi je génèrerais le code suivant :
<script type="text/javascript">
var arImg=new Array();
arImg[0]="img1.jpg";
arImg[1]="img2.jpg";
...
...
...
arImg[n]="imgx.jpg";
function showImg() {
var tbs=document.createElement("table");
var n=0;
var m=0;
//Calcul du nombre de lignes
if ((arImg.length % 7) > 0) {
var nbLn=(arImg.length / 7) + 1;//division non entière
}
else {
var nbLn=(arImg.length / 7;//division entière
}
var ptImg=0; //Pointeur image
for (n=0;n<nbLn;n++) {
var tln=tbs.insertRow[n];
for (m=0;m<7;m++) {
var tcel=tln.insertCell[m];
if (ptImg

J'utiliserais ensuite un élément pour lancer la fonction showImg() à partir de
l'attribut événementiel onclick de cet élément.

Si cela peut aider!...
Commenter la réponse de cs_jperre
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
0
Merci
Une petite erreur à corriger dans mon code :
il y a :
var nbLn=(arImg.length / 7) + 1;//division non entière

il faut
var nbLn=Math.floor(arImg.length / 7) + 1;//division non entière

Excusez moi!...
Commenter la réponse de cs_jperre
Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
0
Merci
merci beaucoup c'est vraiment sympa

je pense que sans aide j'aurais mis ... disons beaucoup de temps
pour en arriver la

je vais décortiquer le code pour voir comment cela fonctionne.
et surtout le mettre de coté

merci Kazma et Jperre pour votre aide

Franck
Commenter la réponse de xzonz