[PHP] -débutant- taille de tableau HTML

Résolu/Fermé
Signaler
Messages postés
3
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
-
Bonjour,

Voici ma question de grand débutant :

Je cherche à créer un tableau HTML, dont je puisse entrer les dimensions (nombre de colonnes = nombre de lignes) dans un formulaire (utilisant PHP).


j'ai pour le moment créer deux expression for imbriquées pour balayer les nombres de lignes puis de colonnes... mais je m'embrouille trop entre le code HTML et le code PHP.

Merci par avance pour vos indications,
Lulea

2 réponses

Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
tu peux mettre ton code stp
1
Merci

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

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007

oui, le voilà : (mais pas mal de chose cloche je pense...)

<html>
<head>
<title> Test tableau</title>
</head>

<body>


<?php
$NMAX = 10 #iniitlaisation d'une valeur

#récuperation de la valeur
if (isset($_POST["nombre"]));
$NMAX = $_POST["nombre"]);
?>

<form action="<?php print($_SERVER["PHP_SELF"]); ?>" method="post">
<p>Nombre pour multiplication : <input type="int" name=""nombre" size="15" maxlength="5">
<input type="submit" value="Valider"></p>
</form>

<?php #test de la valeur (entiere ?)
if (is_numeric($_POST["nombre"]) && (intval(0 + $_POST["nombre"]) == $_POST["nombre"])) {
echo 'Saisie correcte !';
} else {
echo 'Saisie incorrecte !';
}


#construction du tableau

echo"<table border>";

for($i=0;$i<$NMAX;$i++)
{ echo" <tr>";
for($j=0;$j<$NMAX;$j++)
{ echo"<td>";
print(i * j) ;
echo"</td>";
}
echo"</tr>";
}
echo" </table>";
}

?>
</body>
</html>
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
ton code est plutot cohérent et ca doit fonctionner, lorsque tu utilise un echo pense à mettre des anti-slash devant les caractères spéciaux sinon il ne sont pas pris en compte.

<html>
<head>
<title> Test tableau</title>
</head>

<body>


<?php
<!--tu n'est pas obligé de déclarer et initialiser les variables-->

#récuperation de la valeur
if (isset($_POST["nombre"]));
$NMAX = $_POST["nombre"]);
?>

<form action="<?php print($_SERVER["PHP_SELF"]); ?>" method="post">
<p>Nombre pour multiplication : <input type="int" name=""nombre" size="15" maxlength="5">
<input type="submit" value="Valider"></p>
</form>

<?php #test de la valeur (entiere ?)
if (is_numeric($NMAX) && (intval(0 + $NMAX) == $NMAX)) {
echo 'Saisie correcte !';
} else {
echo 'Saisie incorrecte !';
}
<!-- tu affecte à $NMAX la valeur $_POST['nombre'], sert t'en! cela permet d'éclaircir le code et ainsi d'offrir une meilleur compréhension-->


#construction du tableau

echo"<table border>";

for($i=0;$i<$NMAX;$i++)
{ echo" <tr>";
for($j=0;$j<$NMAX;$j++)
{ echo"<td>";
print(i * j) ;<!--Ici tu remplie les champs, très bien ,c'est cohérent et ca doit marcher, mais que doivent t'il contenir? -->
echo"</td>";
}
echo"</tr>";
}
echo" </table>";
}

?>
</body>
</html>
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60 >
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009

utile également, tu peux fermer tes script php pendant que tu écrit de l'html!!!
c'est un peu moins jolies sur le forum, mais si tu utilise un éditeur avec des colorations (genre script édit) tu t'y retrouve bcp mieux!!!!!

#construction du tableau

echo"<table border>";

for($i=0;$i<$NMAX;$i++)
{ ?> <tr><?php
for($j=0;$j<$NMAX;$j++)
{ ?><td><?php
print(i * j) ;<!--Ici tu remplie les champs, très bien ,c'est cohérent et ca doit marcher, mais que doivent t'il contenir? -->
?></td><?php
}
?></tr><?php<
}
?> </table><?php
}
?>
--
<code>Practice doesn't make perfect, it makes champion!
Si l'important n'est pas de gagner, pourquoi compte-t-on les points ?
Messages postés
3
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007
>
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009

Merci beaucoup Nauno !

Finalement, je pensais être beaucoup plus loin du but que ça ! C'est vrai que la deuxième option pour l'intégration du script php dans html est plus pratique (notepad ++).

- En fait, le i*j, c'est simplement pour faire une table de multiplication ;-)

malheureusement, la valeur retournée est 0 dans toutes les cellules du tableau ?!?!?

alors je suis passée par une autre variable ($Calc = i*j;
print($Calc) ) cela ne marche pas mieux...


Merci en tout cas pour ton aide !
Lulea
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60 >
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009

remplace ca
print(i * j)

par
$t=$i*$j;echo $t;


on doit encore pouvoir faire mieux( affichage direct du résultat sans passer par une autre variable), mais ce n'est pas une opération gourmande, ca ne risque pas de ralentir le calcul de la page, et pi en plus ca fait au moins deux ans que j'ai pas fait de php!!! ;-p