Afficher données dans tableau sans connaitre le nombre d' entrée
Résolu/Fermé
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
-
11 mai 2015 à 21:18
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 - 12 mai 2015 à 19:20
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 - 12 mai 2015 à 19:20
A voir également:
- Afficher données dans tableau sans connaitre le nombre d' entrée
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Tableau word - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. ✓ - Forum Excel
4 réponses
Yuh12
Messages postés
184
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
24
Modifié par Yuh12 le 11/05/2015 à 22:42
Modifié par Yuh12 le 11/05/2015 à 22:42
Si tes billets sont répertoriés dans une base de données, tu fais ta requête, qui te renvoi un tableau et tu parcours ce tableau en l'affichant dans du html.
<?php echo"<table>"; foreach($montableau as $ligne) { $titre=$ligne['nom_billet']; $img=$ligne['img_billet']; $desc=$ligne['description_billet']; echo "<tr>"; echo "<td><h2>$titre</h2></td>"; echo "<td><img src='$img' /></td>"; echo "<td>$desc</td>"; echo "</tr>"; } echo"</table>"; ?>
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
11 mai 2015 à 23:07
11 mai 2015 à 23:07
Bonsoir et merci pour ta réponse rapide,
Dans ce que je vois, on n'affiche qu'un billet ?
Nous n'avons qu'un echo pour un tr. Or je ne sais pas à l'avance combien j'ai de billet pour chaque pays. Ca peut aller de une ligne à 30 lignes (à la louche). C'est bien ça qui me chiffonne !
Bon je vais me coucher, je revois ça demain. OK ?
Merci encore.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Dans ce que je vois, on n'affiche qu'un billet ?
Nous n'avons qu'un echo pour un tr. Or je ne sais pas à l'avance combien j'ai de billet pour chaque pays. Ca peut aller de une ligne à 30 lignes (à la louche). C'est bien ça qui me chiffonne !
Bon je vais me coucher, je revois ça demain. OK ?
Merci encore.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Yuh12
Messages postés
184
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
24
12 mai 2015 à 01:47
12 mai 2015 à 01:47
Il n'y a qu'un echo certes mais il est dans un foreach donc le code fera des <tr> et des <td> autant de fois qu'il passera dans la boucle.
Tu ne sais pas combien tu aura de billets ok, mais comment est ce que tu as ce nombre ? Est ce qu'il viens d'un array() PHP ? d'une Base de Données ?
Dans ce que je t'envois, je sous-entend que tu as une BDD, que tu fais une requete SQL dans une table qui a comme colonnes :'nom_billet','img_billet','description_billet'
Et donc que tu récupères dans $montableau la totalité des informations sur tes billlets dans ce tableau PHP.
Ensuite je parcours $montableau à l'aide d'un foreach pour "placer" chaque case de cette variable-tableau PHP dans chaque case du tableau HTML dans les <tr><td>
Tu ne sais pas combien tu aura de billets ok, mais comment est ce que tu as ce nombre ? Est ce qu'il viens d'un array() PHP ? d'une Base de Données ?
Dans ce que je t'envois, je sous-entend que tu as une BDD, que tu fais une requete SQL dans une table qui a comme colonnes :'nom_billet','img_billet','description_billet'
Et donc que tu récupères dans $montableau la totalité des informations sur tes billlets dans ce tableau PHP.
Ensuite je parcours $montableau à l'aide d'un foreach pour "placer" chaque case de cette variable-tableau PHP dans chaque case du tableau HTML dans les <tr><td>
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
12 mai 2015 à 14:08
12 mai 2015 à 14:08
Bonjour Yuh12,
Effectivement je suis en train de construire une BDD Mysql avec plusieurs colonnes:
id, pays, visuelrecto, valeurrecto, format, recto, visuelverso, valeurverso, verso.
Visuelrecto = image recto (type blob)
Valeurrecto = valeur nominale du billet (type varchar)
Format = dimensions du billet (type varchar)
Recto = personnage du recto (type varchar)
Visuelverso = image verso (type blob)
Valeurverso = valeur nominale du billet (type varchar)
On répéte le format pour le verso dans le second TD
Verso = personnage du verso (type varchar)
J'ai opté pour le type blob pour les images mais il m'affiche des données binaires. Pourtant ça m'a demandé le chemin pour insérer l'image dans la table. Bref je regarderai ça.
Ce tableau est accessible via un lien (pays) et tous les billets concernant ce pays devraient s'afficher avec en dessous de chaque imge une petite info (valeur, dimensions, personnage.
J'essaie ton script et te tiens au courant (je ne suis pas sur ma table soit optimisée).
Merci beaucoup en tous pour ton soutient !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Effectivement je suis en train de construire une BDD Mysql avec plusieurs colonnes:
id, pays, visuelrecto, valeurrecto, format, recto, visuelverso, valeurverso, verso.
Visuelrecto = image recto (type blob)
Valeurrecto = valeur nominale du billet (type varchar)
Format = dimensions du billet (type varchar)
Recto = personnage du recto (type varchar)
Visuelverso = image verso (type blob)
Valeurverso = valeur nominale du billet (type varchar)
On répéte le format pour le verso dans le second TD
Verso = personnage du verso (type varchar)
J'ai opté pour le type blob pour les images mais il m'affiche des données binaires. Pourtant ça m'a demandé le chemin pour insérer l'image dans la table. Bref je regarderai ça.
Ce tableau est accessible via un lien (pays) et tous les billets concernant ce pays devraient s'afficher avec en dessous de chaque imge une petite info (valeur, dimensions, personnage.
J'essaie ton script et te tiens au courant (je ne suis pas sur ma table soit optimisée).
Merci beaucoup en tous pour ton soutient !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
12 mai 2015 à 18:57
12 mai 2015 à 18:57
Voici ce que j'ai fait (mais je ne suis pas très fort):
J'ai créé une autre table, flag, pour avoir la première ligne (drapeau, nom complet du pays, capitale, monnaie, et histoire de sa monnaie). ce tableau ne doit pas se répéter.
Au fait; je vois les images maintenant, il fallait juste cocher une case dans la structure. Transformation image/jpeg: inline.
Si tu pouvais me conseiller ce serait super !
Merci d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai créé une autre table, flag, pour avoir la première ligne (drapeau, nom complet du pays, capitale, monnaie, et histoire de sa monnaie). ce tableau ne doit pas se répéter.
Au fait; je vois les images maintenant, il fallait juste cocher une case dans la structure. Transformation image/jpeg: inline.
<?php // on affiche la première ligne pour la planche d'un pays, drapeau, capitale, monnaie et histoire de la monnaie
£drapeau=£drapeau['drapeau'];
£nomcomplet=£nomcomplet['nomcomplet'];
£capitale=£ligne['capitale'];
£monnaie=£monnaie['monnaie']
£histoire=£histoire['histoire'];
echo"<table>";
select(£flag as £pays)
echo "<tr>";
echo "<td><img src='$drapeau' /></td><td>'£nomcomplet'<br />'£capitale'<br />'£monnaie'</td><td>'£histoire'</td>";
echo "</tr>";
echo"</table>";
// ce premier tableau ne se répète pas
//=========================================
// on affiche ici les lignes qui se répètent tant qu'il y a des billets pour ce pays
echo"<table>";
foreach($billets as $ligne)
{
// $titre=$ligne['pays']; // on n'a pas besoin du titre
$visuel_recto=$ligne['visuel_recto'];
$valeur_recto=$ligne['valeur_recto'];
$format=$ligne['format'];
$recto=$ligne['recto'];
$visuel_verso=$ligne['visuel_verso'];
$valeur_verso=$ligne['valeur_verso'];
$format=$ligne['format']; // on réaffiche le format du billet pour le verso
$verso=$ligne['verso'];
echo "<tr>";
echo "<td><h2>$titre</h2></td>";
echo "</tr>";
echo "<td class="billet"><img src='$visuel_recto' /><br />'$valeur_recto'<br />'$format'<br />'$recto'</td>";
echo "<td class="billet"><img src='$visuel_verso' /><br />'$valeur_verso'<br />'$format'<br />'$verso'</td>";
echo "</tr>";
}
echo"</table>";
?>
Si tu pouvais me conseiller ce serait super !
Merci d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Yuh12
Messages postés
184
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
24
Modifié par Yuh12 le 12/05/2015 à 19:23
Modifié par Yuh12 le 12/05/2015 à 19:23
Quel est cette synthaxe ?
Je ne connais pas.
Eh bien je ne vois pas trop quoi dire de plus, tu voulais afficher plusieurs <tr> en fonction d'un tableau BDD, il fallait les mettre dans une boucle, maintenant que c'est fait il faut juste que tu le fasse marcher et puis c'est bon non ^^' ? ...
Je vois pas trop l'intêret de flag vu que je ne comprend pas ta synthaxe.
Pour moi ça devrait ressembler à ça :
En gros un seul tableau avec thead/tfoot qui définisse proprement tes colonnes et une boucle dans le tbody qui place le contenu de ta BDD dans ton tableau HTML.
£drapeau
Je ne connais pas.
Eh bien je ne vois pas trop quoi dire de plus, tu voulais afficher plusieurs <tr> en fonction d'un tableau BDD, il fallait les mettre dans une boucle, maintenant que c'est fait il faut juste que tu le fasse marcher et puis c'est bon non ^^' ? ...
Je vois pas trop l'intêret de flag vu que je ne comprend pas ta synthaxe.
Pour moi ça devrait ressembler à ça :
echo"<table> <thead> <tr> <td>Pays</td> <td>Capitale</td> <td>Drapeau Recto</td> <td>Drapeau Verso</td> <td>Histoire</td> </tr> </thead> <tfoot> <tr> <td>Pays</td> <td>Capitale</td> <td>Drapeau Recto</td> <td>Drapeau Verso</td> <td>Histoire</td> </tr> </tfoot> <tbody>"; foreach($billets as $ligne) { // Mes variables à déclarer.... $pays=$ligne['monpays'], $capitale pareil etc.. blablabla echo "<tr> <td><h2>".$pays."</h2></td> <td><h2>".$capitale."</h2></td> <td class='billet'><img src='".$visuel_recto."' /><br />'".$visuel_recto."'<br />".$format."<br />".$recto."</td> <td class='billet'><img src='".$visuel_verso."' /><br />'".$visuel_verso."<br />".$format."<br />".$verso."</td> <td><p>".$histoire."</p></td> </tr>"; } echo"</tbody> </table>";
En gros un seul tableau avec thead/tfoot qui définisse proprement tes colonnes et une boucle dans le tbody qui place le contenu de ta BDD dans ton tableau HTML.