Re: Sending multiple values from a form having same field names.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.  Whichone 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 echohtmlspecialchars($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>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux