On Fri, Mar 14, 2008 at 6:02 AM, Zoltán Németh <[EMAIL PROTECTED]> wrote:
> 2008. 03. 14, péntek keltezéssel 14.08-kor Suamya Srivastava ezt írta:
>
> > Hi,
> >
> > How can I send multiple values from a form to be stored in a database, as
> > name of the fields is the same?
> >
> > For example:
> >
> > <?php
> > foreach ($field_data as $field) {
> >
> > $field_name=$field["field_name"];
> > $field_id=$field["field_id"];
> > $datatype=$field["datatype_name"];
> >
> > ?>
> > <input type="hidden" name="field_id" value="<?php echo $field_id;?>" />
> > <tr>
> > <td><strong><?php echo $field_name;?><strong></td>
> > <?php
> > if ($datatype=="text" || $datatype=="integer") {
> > echo "<td><input type=\"text\" name=\"field_data\"></td>";
>
> make field_data an array indexed by field_id
>
> <input type="text" name="field_data[<?php echo $field_id; ?>]"
>
> greets,
> Zoltán Németh
>
>
>
> > }
> > elseif ($datatype=="textarea") {
> > echo "<td><textarea rows=\"10\" cols=\"100\"
> > name=\"field_data\"></textarea><br></td>";
> > }
> > echo "</tr>";
> > }
> > ?>
> >
> > This creates a form with field names and text box or textarea box next to
> > each field name depending on the datatype. After the user enters the
> > values in the text or textarea and clicks submit, the values should get
> > stored in a database. But what is happening is that only the value entered
> > in the last field of the form is getting entered into the database.
> > This code is embedded in an application which is having an inbuilt
> > structure of taking the values from a form in a hash. Since key is the
> > same (i.e. field_id) everytime, the value gets overwritten and only the
> > last value gets stored in db. But I am not able to work out a solution for
> > this.
> > I hope I am able to make my problem clear enough.
> >
> > Thanks,
> > Suamya.
> >
> >
> >
> >
> >
> -----------------------------------------------------------------------------
> > DISCLAIMER:-
> > "The information in this e-mail is confidential, and is intended
> > solely for the addressee or addressees. If you are not the intended
> recipient,
> > please delete the mail and kindly notify the sender of misdelivery. Any
> > unauthorised use or disclosure of the contents of the mail is not permitted
> > and may be unlawful."
> >
> -----------------------------------------------------------------------------
> >
> > "Scanned By MailScanner"
> >
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
Since Zoltán give you the answer I might give you another fish. Which
one is more readable:
<input type="hidden" name="field_id" value="<?php echo $field_id;?>" />
<tr>
<td><strong><?php echo $field_name;?><strong></td>
<?php
if ($datatype=="text" || $datatype=="integer") {
echo "<td><input type=\"text\" name=\"field_data\"></td>";
}
elseif ($datatype=="textarea") {
echo "<td><textarea rows=\"10\" cols=\"100\"
name=\"field_data\"></textarea><br></td>";
}
echo "</tr>";
}
?>
<input type="hidden" name="field_id" value="<?php echo
htmlspecialchars($field_id); ?>" />
<tr>
<td><strong><?php echo htmlspecialchars($field_name); ?><strong></td>
<?php if ($datatype=="text" || $datatype=="integer"): ?>
<td><input type="text" name="field_data"></td>
<?php elseif ($datatype=="textarea"): ?>
<td>
<textarea rows="10" cols="100"
name="field_data"></textarea>
<br>
</td>
<?php endif; ?>
</tr>