Bonjour,

Besoin d aide...
Je créé un code ou je veux afficher un tableau
Mais voila ca m affiche bien les titres des trois colonnes mais pas le reste des données
il semblerait qu il y ai probleme avec les balises td et tr dans validator.w3

voici le bout de code en question:

echo "<tr><td>Nom</td><td>Prénom</td><td>Club</td></tr><br/>";
foreach($tab as $untab)
{
echo $untab
};


Merci d avance pour votre aide !

François
Salut,
Qu'est-ce qu'il y a dans ta variable $untab? La syntaxe pour que ça fonctionne devrait ressembler à ça:

echo "<table><tr><th>Nom</th><th>Prénom</th><th>Club</th></tr>";
foreach($tab as $untab)
{
echo "<tr><td>".$untab['Nom']."</td><td>".$untab['Prenom']."</td><td>".$untab['Club']."</td></tr>";
};
echo "</table>";
toujours bloqué les valeurs de mon tableau ne s affiche pas
comprend pas

echo <table><tr><th>Nom</th><th>Prénom</th><th>Club</th></tr></table>
foreach($tab as $untab)
{
echo "<tr><td>".$untab['name']."</td><td>".$untab['first-name']."</td><td>".$untab['club']."</td></tr>";
};

le code s afiche dans ma page en plus...
Tu dois mettre </table> à la fin, sinon tu fermes ton tableau avant même d'afficher quelque chose dedans...
Et puis il te manque les apostrophes à la première ligne
Modifié par Mathieu8337 (18 Jun 2019 - 11:38)
En fait mon probleme est le suivant :

dans un fichier txt jai toutes les valeurs de mon formulaire
l idee cest de classer par ordre alphabetique la valeur nom et afficher que le nom (trié au préalable) , le prénom puis le club

encore les balise table qui coincent...

Voici le code :

$handle = fopen('inscrit.txt', 'r');
$tb_nom = array();
$i = 0;
while(($data = fgetcsv($handle, 1000, ';')) !== FALSE){
$tb_nom[$i] = $data[1];
$tb_prenom[$i] = $data[2];
$tb_club[$i] = $data[0];
$i++;
}
$i_max = $i;
fclose($handle);
array_multisort($tb_nom);

for($i = 0; $i <=$i_max; $i++)
{
echo "<tr>";
echo '<td width="20%" style="text-align: center;">'.$tb_nom[$i].'</td>';
echo '<td width="20%" style="text-align: center;">'.$tb_prenom[$i].'</td>';
echo '<td width="20%" style="text-align: center;">'.$tb_club[$i].'</td>';
echo "</tr>";
}
?>
Ha mais ça commence à être mieux Smiley smile Manque juste la définition de ta table puis sa fermeture, et je pense que ce sera bon.
Ensuite, si tu as la possibilité d'avoir ton fichier texte déjà trié (d'ailleurs enregistre le en .csv plutôt qu'en .txt, ça te permettra de l'ouvrir avec excel), tu peux faire ton traitement beaucoup plus simplement:

<?php
$table = '<table><tr><th>Nom</th><th>Prénom</th><th>Club</th></tr>';
$handle = fopen('inscrit.txt', 'r');
while($data = fgetcsv($handle, 1000, ';')){

	$table .= '<tr><td width="20%" style="text-align: center;">'.$data[1].'</td>';
	$table .= '<td width="20%" style="text-align: center;">'.$data[2].'</td>';
	$table .= '<td width="20%" style="text-align: center;">'.$data[0].'</td></tr>';
}
$table .= '</table>';
fclose($handle);

echo $table;
?>

Modifié par Mathieu8337 (18 Jun 2019 - 15:13)
Non ca ne fonctionne pas... jai pourtant bien changé en csv
cest la premiere fois que je fais ca donc 1 je mets mon fichier par exemple accueil.html sur le www et le code php est censé agir? Cest ca?
Bonjour,

a priori ton fichier doit être nommé .php pour être interprété comme tel. Comment tu testes ton site, sur un serveur local ou chez un hébergeur ?
Pour faire du PHP deux choses Smiley smile

Un fichier .php
Un fichier .php lu par un serveur web.

Si tu n'a pas les deux, c'est du "code" que tu verras et non le résultat interprété.
Jencal, je crois que tu as bien vu le problème^^
fanch2506 a écrit :
le code s afiche dans ma page en plus...


Fanch,
Je pense que tu devrais revoir les bases du php... Je sais pas s'il y a des tutos sur alsacréations, mais sinon je te recommande de suivre ce cours sur openclassroom