Re: Dynamic Form 'on The Fly'
| From: | Paul M Foster | Date: | Wed, 18 Mar 2009 19:48:14 +0000 |
| Subject: | Re: Dynamic Form 'on The Fly' | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-290254@lists.php.net to get a copy of this message | ||
On Wed, Mar 18, 2009 at 12:12:54PM -0700, revDAVE wrote:
> Using a repeating region of a query, I want to generate a 'form on the fly'
>
> So for each repeat - I have an extra form input....
>
> Each input name = thisline<?php echo $cnt; ?>
>
> So it will make names like:
>
> thisline1
> thisline2
> thisline3
> Etc.
>
> For the form fields
>
> -------------------------
>
>
> $cnt = 1;
> <form action="form1.php" method="post" name="test1">
>
> Repeat.....
>
> <input name="go<?php echo $cnt; ?>" type="text" value=""
> size="5"
> maxlength="5" />
>
> <?php $cnt++; ?>
>
> Repeat..................
>
> ------------------------------------
>
> Q: how do I code the POST line to READ this when processing this form?
>
> like:
>
> $cnt = 1;
>
> <?php echo $_POST['thisline$cnt']; ?> ???? Doesn't work...?
This won't work because you've got the expression in single quotes. In
order for the $cnt to be evaluated, you have to double-quote it.
> <?php echo $_POST['thisline'].$cnt; ?>???? Doesn't work...?
This *should* work, except... what is $_POST['thisline']?
>
> Not this either...
> $this = 'thisline'.$cnt;
> echo $_POST['$this'];
>
>
> $cnt++
>
> Q: ANY Ideas?
>
If this form is re-entrant (displays 4 lines, user hits "Done" and it
displays 5 lines, etc.), then you're going to have to save the $cnt
value in the $_POST array. Then you do something like:
<?php for ($i = 0; $i < $_POST['cnt']; $i++): ?>
<input type="text" size="5" name="thisline<?php echo $i;
?>"
value="<?php echo $_POST["thisline$i"; ?>"/>
<?php endfor; ?>
<?php $cnt = $_POST['cnt']++; ?>
<input type="text" size="5" name="thisline$cnt"/>
<input type="hidden" name="cnt" value="<?php echo $cnt;
?>"/>
Your question is a little unclear, so I may be misunderstanding what you
want.
Paul
--
Paul M. Foster