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

Résolu/Fermé
lulea Messages postés 3 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 20 mars 2007 - 20 mars 2007 à 14:06
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 - 20 mars 2007 à 16:04
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

nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 mars 2007 à 14:20
tu peux mettre ton code stp
1
lulea Messages postés 3 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 20 mars 2007
20 mars 2007 à 14:35
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>
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 mars 2007 à 14:52
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>
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60 > nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009
20 mars 2007 à 15:04
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 ?
0
lulea Messages postés 3 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 20 mars 2007 > nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009
20 mars 2007 à 15:51
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
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60 > nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009
20 mars 2007 à 16:04
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
0