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>