Espaces intra et inter cellules non prises en compte

Le
R.L.
Bonjour,

Quelques soient la valeur des 2 derniers arguments passés à la fonction
(ici, 8 et 8), le résultat ne change pas à l'affichage.
MEn outre, même si je modifie en dur (4 et 4), il n'y a pas de modif. à
l'affichage.
Voici mon code :

<?php
function create_table2( $data, $border = 1, $cellpadding = 4,
$cellspacing = 4 )
{
echo "<table border = $border cellpadding = $cellpadding"
."cellspacing = $cellspacing>";
reset($data);
$value = current($data);
while ($value)
{
echo "<tr><td>$value</td></tr>";
$value = next($data);
}
echo "</table>";
}
$my_array = array('Vlad.','Ilo.','Oli.');
create_table2($my_array, 5, 8, 8); // *** les 2 dernières valeurs ne
sontpas prises en compte ! ***
?>

--
Une piste ?

Merci.
Rosa
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #17260

<?php
function create_table2( $data, $border = 1, $cellpadding = 4,
$cellspacing = 4 )
{
echo "<table border = $border cellpadding = $cellpadding"
."cellspacing = $cellspacing>";
[...]

create_table2($my_array, 5, 8, 8); // *** les 2 dernières valeurs ne
sontpas prises en compte ! ***
?>

-----------
Une piste ?


Facile ! La valeur de cellpadding est collée au nom de l'attribut
cellspacing, comme tu devrais t'en rendre compte en regardant le code
source HTML généré :
<table border = 5 cellpadding = 8cellspacing = 8>

Note que ces attributs seraient mieux dans des règles CSS, et par
ailleurs il peut être utile de mettre des guillemets (même si ce
n'est obligatoire qu'en XHTML).

Sans CSS :
echo "<table border='$border' cellpadding='$cellpadding'"
. " cellspacing='$cellspacing'>n";

Avec CSS :
(voir du côté de fr.comp.infosystemes.www.auteurs)

CrazyCat
Le #17261
R.L. wrote:
function create_table2( $data, $border = 1, $cellpadding = 4,
$cellspacing = 4 )
{
echo "<table border = $border cellpadding = $cellpadding"
."cellspacing = $cellspacing>";
create_table2($my_array, 5, 8, 8); // *** les 2 dernières valeurs ne
sontpas prises en compte ! ***


En essayant de faire un code propre et conforme:
echo "<table border="".$border." cellpadding="".$cellpadding.""
cellspacing="".$cellspacing."">";

Je ne suis pas bien sur que les navigateurs apprécient les espaces entre
les attributs et leur valeurs, ni l'absence de guillemets autour des
valeurs.

--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net

Carbo
Le #17262
R.L. wrote:

echo "<table border = $border cellpadding = $cellpadding"
."cellspacing = $cellspacing>";


echo "<table border="$border" cellpading="$cellpading"
cellspacing="$cellspacing">";

les espaces entourant les = ne sont pas très appréciés en html ;-)


--

Mihamina Rakotomandimby
Le #17263
R.L. wrote:
Bonjour,


Bonjour,

<?php
function create_table2( $data, $border = 1,
$cellpadding = 4,
$cellspacing = 4 )
{
echo "<table border = $border cellpadding = $cellpadding"
."cellspacing = $cellspacing>";


Regarde un peu, dans les sources de la page génrée le code HTML que
donne cette partie.
Je suis certain que tu verras de suite ce qui se passe.

Olivier Miakinen
Le #17259
[ copie et suivi dans fr.comp.infosystemes.www.auteurs ]

Bonjour,

À propos d'un code HTML ressemblant à ceci :
<table border = 5>


les espaces entourant les = ne sont pas très appréciés en html ;-)



Je ne suis pas bien sur que les navigateurs apprécient les espaces entre
les attributs et leur valeurs, ni l'absence de guillemets autour des
valeurs.


En ce qui concerne l'absence de guillemets, c'est sûr que c'est interdit
en XHTML mais autorisé en HTML pour certains types de valeurs (comme ici
en l'occurrence pour des nombres).

En revanche, pour ce qui est de la présence ou de l'absence d'espaces
autour du signe « = », je sais que c'est autorisé en XHTML, mais je n'ai
pas trouvé l'information pour HTML. Quelqu'un aurait un pointeur sur la
syntaxe SGML ?

Olivier

Publicité
Poster une réponse
Anonyme