[PHP] -débutant- taille de tableau HTML
Résolu
lulea
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
nauno Messages postés 342 Date d'inscription Statut Membre Dernière intervention -
nauno Messages postés 342 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- [PHP] -débutant- taille de tableau HTML
- Comment réduire la taille d'un fichier - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
2 réponses
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>
<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>
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>
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!!!!!
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 ?
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
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
remplace ca
par
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
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