On Fri, Mar 14, 2008 at 8:12 PM, Jim Lucas <lists@xxxxxxxxx> wrote:>> Eric Butera wrote:> > On Fri, Mar 14, 2008 at 6:02 AM, Zoltán Németh <znemeth@xxxxxxxxxxxxxx> 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>>> This is more readable>> <?php> while ( $row = mysql_fetch_row($result_set) ) {>> # Extract all data fields from result set> list($datatype,$field_id,$field_name,etc...) = $row;>> # Initialize or clear variable> $field = '';>> # Check to see if it requires a text field>> if ( $datatype == "text" || $datatype == "integer" ) {>> # Create Text field> $field = '<input type="text" name="field_data[{$field_id}]" />';>> # Check to see if it requires a text area> } elseif ( $datatype == "textarea" ) {>> # Create Text Area> $field = '<textarea rows="10" cols="100" name="field_data[{$field_id}]">'.> '</textarea>';>> }> # Display it all> echo <<<ROW> <tr>> <td><strong>{$field_name}</strong></td>> <td>{$field}</td>> </tr>> ROW;> }> ?>>>> --> Jim Lucas>> "Some men are born to greatness, some achieve greatness,> and some have greatness thrust upon them.">> Twelfth Night, Act II, Scene V> by William Shakespeare> Not really. Also you aren't escaping your output.