Thanks Tyler For you excellent code example. I thought there was a way to array a set of form fields and you have shown us all a way to do it. I have successfully completed my task by keeping state in a MySql database but I will dev your code to see if I can smarten up my own approach. Once again than you and I hope this shared knowledge is of use to other Php coders. Dave C -----Original Message----- From: Tyler Lane [mailto:tlane@lyrical.net] Sent: 16 April 2003 00:25 To: php-db@lists.php.net Subject: Re: Is there a short way to? On Tue, 2003-04-15 at 06:30, Dave Carrera wrote: > Hi All > > I have a MySql table that I am trying to post data from a form (basic > stuff but wait a minute) > > It has thirty cols but what I am trying to do is not have a form with > 30 fields but split it into little relevant bits and post them bits as > I go. > > My question is do I HAVE to "insert into table > (name,all,the,30,cols,here) values(var1,var2,var3,and,so,on) > > Or is there a glamorous way of only putting the data from the form > into the affected rows? > Short answer is yes, it is possible to do. For the inserting information into the table, if the fields of the table are not going to change at all, then I would highly recommend just hardcoding the updates. for your HTML code with your form: <form action="your_page.php" method="POST"> <input type="hidden" name="form[fields]" name="field_1"> <input type="text" name="form[values][field_1]"> do this for all 30 fields. this will create an array called form with 2 additional arrays in it. one called fields and another called values. we will loop through the through the fields array twice building our query. Now for the php <?php //we first check to make sure that form is populated. this is pretty much useless withan empty array if( !empty( $_REQUEST[ "form" ] ) ) { //now we start our insert query $query = "INSERT INTO table_name ( "; foreach( $_REQUEST[ "form" ][ "fields" ] as $field ) { $query .= " $field "; //now we check to see if this is the last field in the array or not //we are getting the size of the array and subtracting one as the first field of an array is 0 if( $field != $_REQUEST[ "form" ][ "fields" ][ sizeof( $_REQUEST[ "form" ][ "fields" ] ) - 1 ] { //if it is not the last field in the array we can add a , $query .= ", "; } } //now for the values $query .= " VALUES( "; //we loop through the fields again and this time pull the value from our values array foreach( $_REQUEST[ "forms" ][ "fields" ] as $field ) { $query .= "'". $_REQUEST[ "form" ][ "values" ][ $field ] ."' "; if( $field != $_REQUEST[ "form" ][ "fields" ][ sizeof( $_REQUEST[ "form" ][ "fields" ] ) - 1 ] { //if it is not the last field in the array we can add a , $query .= ", "; } } $query .= " ) "; print "query = $query <br />"; } ?> this should make you a nice pretty query > And help, examples or online resources very much appreciated. > > Thank You > > Dave C > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.471 / Virus Database: 269 - Release Date: 10/04/2003 > > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.471 / Virus Database: 269 - Release Date: 10/04/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.471 / Virus Database: 269 - Release Date: 10/04/2003 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php