Afficher un nombre de tableau suivant une variable [Résolu]

Signaler
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour tous le monde ,
J'aimerai afficher plusieurs tableaus en fonction d'un nombre que je rentre dans un champ texte et d'un bouton submit qui renvoi sur la meme page.
Pour le moment j'arrive à afficher un tableau dès que j'appuis sur le bouton Envoyer (submit).

Par exemple je rentre dans un champs texte le nombre 2 je veut que ca m'affiche deux tableaux si je rentre 3 je veut que ca m'affiche 3 tableaux.

J'ai voulu essayer avec des régions répéter mais ca marche que pour les jeu d'enregistrements apparament alors ...

Merci à ceux qui peuvent me répondre!



--------------------
StimL.

31 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

là je pige pas ton problème...

<?php
if (isset ($_POST['validation']) && $_POST['validation'] === 'valider') {
if ('' !== trim ($_POST['nbre']) && is_numeric ($_POST['nbre'])) {
$sTableau = '';
for ($i = 1; $i <= (int)$_POST['nbre']; $i ++) {
$sTableau .= <<<HTML
tableau {$i}

HTML;
}
}
}
?>


<form method="post" action="">

</form>


<?php
if (isset ($sTableau) && !empty ($sTableau)) {
echo $sTableau;
}
?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
fais voir le code
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

il est un peu lourd le code un peu long et pas encore commenté mais si ca peut t'aider...

<form name="frmdeslot" id="frmdeslot" action="saisirdeslot.php" method="post">




Voici le premier tableau qui a plusieurs champs dont un qui demande le nombre de tableau qu'on veut
...

----

Voici le champs qui demande le nombre de tableau qu'on veut

Nombre de lots? ,

&nbsp;

<?php
Voici le test pour afficher la page avec les tableau en plus
if($_POST['valider'] == "ok")
{?>
Voici le deuxième tableau qui qui doit être affiché en fonction du nombre entrer dans le champ au dessus

Num&eacute;ro du lot : ,
,

----

Nom du lot : ,
,

----

Proc&eacute;dure:,

<label>
<select name="Procedure2" id="select2">
<?php
do {
?>
<option value="<?php echo $row_rsPro['CODEPRO']?>"><?php echo $row_rsPro['CODEPRO']?></option>
<?php
} while ($row_rsPro = mysql_fetch_assoc($rsPro));
$rows = mysql_num_rows($rsPro);
if($rows > 0) {
mysql_data_seek($rsPro, 0);
$row_rsPro = mysql_fetch_assoc($rsPro);
}
?>
</select>
</label>
,

----

Date de notification : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateNot2","id_ddn");?>
</label>
,

----

Date de d&eacute;but : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateDeb2","id_ddn");?>
</label>
,

----

Date de fin : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateFin2","id_ddn");?>
</label>
,

----

Date de solde : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateSolde2","id_ddn");?>
</label>
,

----

March&eacute; &agrave; bon de commande ? ,
<label>

Oui</label>
<label>

Non</label>,

----

,
,

----

Entreprise :,

<label>

</label>
<label></label>
,

----

D&eacute;partement :,

<label>
<select name="Dep2" id="select3">
<?php
do {
?>
<option value="<?php echo $row_rsDep['NUMDEP']?>"><?php echo $row_rsDep['NUMDEP']?></option>
<?php
} while ($row_rsDep = mysql_fetch_assoc($rsDep));
$rows = mysql_num_rows($rsDep);
if($rows > 0) {
mysql_data_seek($rsDep, 0);
$row_rsDep = mysql_fetch_assoc($rsDep);
}
?>
</select>
</label>
,

----

Ville :,

,

----

Commentaire sur l'entreprise : ,

<label></label>
<label>
<textarea name="txtComEnt2" cols="50" rows="5" id="txtComEnt2"></textarea>
</label>

</form>

Voila j'ai essayé de commenter un peu merci d'avance !



--------------------
StimL.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

enfaite j'ai un tableau avec un bouton submit et un champ texte!
lors que je clik sur le bouton submit je veut qu'il m'affiche autant de fois le deuxième tableau que le nombre que l'utilisateur a saisi dans le champ texte!



--------------------
StimL.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Oui ben c'est ce que fait mon code, là. C'est juste une boucle.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

Oui ca marche bien ce code mais j'ai pas que de l'HTML dans mon tableau j'ai aussi du php et ca bloc un peu...



--------------------
StimL.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Je ne vois pas ce qui bloque. Tu peux mettre du php dedans aussi...
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

oui d'accord mais j'ai pas encore trouver la méthode pour mettre du php dedans lol! :)
mais je vias trouvé! merci pour ton aide je valide ta réponse! ;)



--------------------
StimL.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
heu...
$var = 'blabla';
$chaine = '';
$chaine .= gettype ($var);
$chaine .= '
';

Voilà, j'ai mis du php dans du html...lol? Non, vraiment, je ne pige pas sur quoi tu bloques.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

lol ca c'est pas aussi simple pour moi regarde ce que je veut mettre comme tableau :

Num&eacute;ro du lot : ,
,

----

Nom du lot : ,
,

----

Proc&eacute;dure:,

<label>
<select name="Procedure2" id="select2">
<?php
do {
?>
<option value="<?php echo $row_rsPro['CODEPRO']?>"><?php echo $row_rsPro['CODEPRO']?></option>
<?php
} while ($row_rsPro = mysql_fetch_assoc($rsPro));
$rows = mysql_num_rows($rsPro);
if($rows > 0) {
mysql_data_seek($rsPro, 0);
$row_rsPro = mysql_fetch_assoc($rsPro);
}
?>
</select>
</label>
,

----

Date de notification : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateNot2","id_ddn");?>
</label>
,

----

Date de d&eacute;but : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateDeb2","id_ddn");?>
</label>
,

----

Date de fin : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateFin2","id_ddn");?>
</label>
,

----

Date de solde : ,

<label>

<?php saisie_calendrier("frmunlot","txtDateSolde2","id_ddn");?>
</label>
,

----

March&eacute; &agrave; bon de commande ? ,
<label>

Oui</label>
<label>

Non</label>,

----

,
,

----

Entreprise :,

<label>

</label>
<label></label>
,

----

D&eacute;partement :,

<label>
<select name="Dep2" id="select3">
<?php
do {
?>
<option value="<?php echo $row_rsDep['NUMDEP']?>"><?php echo $row_rsDep['NUMDEP']?></option>
<?php
} while ($row_rsDep = mysql_fetch_assoc($rsDep));
$rows = mysql_num_rows($rsDep);
if($rows > 0) {
mysql_data_seek($rsDep, 0);
$row_rsDep = mysql_fetch_assoc($rsDep);
}
?>
</select>
</label>
,

----

Ville :,

,

----

Commentaire sur l'entreprise : ,

<label></label>
<label>
<textarea name="txtComEnt2" cols="50" rows="5" id="txtComEnt2"></textarea>
</label>



--------------------
StimL.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Ben si c'est aussi simple lol.

$aTmp = array (1,2,3,4,5,6);
$chaine = '';
foreach ($aTmp as $val) {
$chaine .= '----
', $val, ', ';
}
$chaine .= '
';

Tu peux mettre ce que tu veux. Tu arrêtes ta chaîne quand tu dois traiter du php, tu fous dans la chaine le résultat de ce traitement, tu reprends ta chaine, etc...a la fin, t'as une chaine construite avec tout ce que tu veux.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

Prenons par exemple le début :

<table>
<tr>
<td>Num&eacute;ro du lot : </td>
<td></td>
</tr>
<tr>
<td>Nom du lot : </td>
<td></td>
</tr>
<tr>
<td>Proc&eacute;dure:</td>
<td>
<label>
<select name="Procedure2" id="select2">
<?php
do {
?>
<option value="<?php echo $row_rsPro['CODEPRO']?>"><?php echo $row_rsPro['CODEPRO']?></option>
<?php
} while ($row_rsPro = mysql_fetch_assoc($rsPro));
$rows = mysql_num_rows($rsPro);
if($rows > 0) {
mysql_data_seek($rsPro, 0);
$row_rsPro = mysql_fetch_assoc($rsPro);
}
?>

et bien là le php est mélé au html et c'est pas si simple de couper comme on veut et remettre comme on veut moi je suis boquée mais je cherche je vais trouver!



--------------------
StimL.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

Voila ce que j'ai essayer de faire mais ca marche pas ...

$sTableau = '';
for ($i = 1; $i <= (int)$_POST['nbre']; $i ++) {
$sTableau .= <<<HTML
<table>
<tr>
<td>Num&eacute;ro du lot : </td>
<td></td>
</tr>
<tr>
<td>Nom du lot : </td>
<td></td>
</tr>
<tr>
<td>Proc&eacute;dure:</td>
<td>
<label>
<select name="Procedure2" id="select2">;
do {


<option value=;
$sTableau .= echo $row_rsPro['CODEPRO'].">".echo $row_rsPro['CODEPRO']."</option>";
$sTableau .=}
$sTableau .=while ($row_rsPro = mysql_fetch_assoc($rsPro)); $sTableau .$rows mysql_num_rows($rsPro);
$sTableau .= if($rows > 0) {
$sTableau .= mysql_data_seek($rsPro, 0); $sTableau .$row_rsPro mysql_fetch_assoc($rsPro);
$sTableau .= }



--------------------
StimL.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

"$chaine .= '<tr><td>', $val, '</td></tr>';"

> Malalam pas bien l'habitude des echos dans les chaînes ^^

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

eu là je comprend pas trop!
serai t'il possible qu'on m'explique avec l'exemple de code que j'ai fourni plus haut?

Merci d'avance!



--------------------
StimL.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Ah oui tien lol...
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

non mais au moins pour ca :

<select name="Procedure2" id="select2">
<?php
do {
?>
<option value="<?php echo $row_rsPro['CODEPRO']?>"><?php echo $row_rsPro['CODEPRO']?></option>

Merci d'avance !



--------------------
StimL.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
C'est quoi le problème là dedans ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

enfaite je veut mettre ca dans une variable!
mais le problème c'est que je sais pas commen metter html et php

$sTableau .= <<<html <select name="Procedure2" id="select2">
<?php
do {
?>
<option value="<?php echo $row_rsPro['CODEPRO']?>"><?php echo $row_rsPro['CODEPRO']?></option>
html;



--------------------
StimL.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

j'vien d'essayer ca :

echo "
<table>
<tr>
<td>Num&eacute;ro du lot : </td>
<td></td>
</tr>
<tr>
<td>Nom du lot : </td>
<td></td>
</tr>
<tr>
<td>Proc&eacute;dure:</td>
<td>
<label>
<select name='Procedure2' id='select2'>".
do {
."<option value='".echo $row_rsPro['CODEPRO']."'>".echo $row_rsPro['CODEPRO']."</option>".
}
while ($row_rsPro = mysql_fetch_assoc($rsPro));
$rows = mysql_num_rows($rsPro);
if($rows > 0) {
mysql_data_seek($rsPro, 0);
$row_rsPro = mysql_fetch_assoc($rsPro);
}."
</select>

mais ca marche pas!



--------------------
StimL.