Hi Rick: Cheers for the info. Thwe following code almost does it, however, the NULL value isn't inserted, if checkboxes are != to 'yes':
//If submit button selected, process those ticked checkbox categories: if(isset($submit)) { //Start off sql $sql = "INSERT INTO $myanet02 (staffdev,strategies,rules,news,information,policies) VALUES("; //loop while categories have been ticked for($i=0;$i<count($category);$i++) { if($category[$names] == 'yes') { $sql .= "'$email',"; } else { $sql .= "NULL,"; } } //Remove the last comma $sql = substr($sql,0,-1).")"; //$query = mysql_query($sql,$connect) or die(mysql_error()); echo $sql; } I believe the problem to be this line: 'if($category[$names] == 'yes') {' //Use this and NULL values aren't inserted 'if($HTTP_POST_VARS["category${$i}"] == 'yes') {' //Use this and ONLY NULL values are inserted The values are taken from the checkboxes thus: //Get all table column names, dynamically display them and use to process subscriptions: $fields = mysql_list_fields("$dbName", "myanet_categories", $connect); $columns = mysql_num_fields($fields); for ($i=0; $i<$columns; $i++) { $names = mysql_field_name($fields, $i) . "\n"; $catselect .= "<b>$names </b><input type=\"checkbox\" name=\"category[$names]\" value=\"yes\"><br>\n"; } You can see it happening at: http://gertrude.anglia.ac.uk/intranet/myanet/index.php Many thanks. Russ On Mon, 22 Oct 2001 12:28:38 -0500 Rick Emery <[EMAIL PROTECTED]> wrote: > Construct your INSERT a piece at a time. Something like: > > $sql = "INSERT INTO $myanet02 > (staffdev,strategies,rules,news,information,policies) VALUES("; > > for($i=0;$i<count($category);$i++) { > if($HTTP_POST_VARS["category{$i}"] == 'yes') { > $sql .= "\'$email\',"; > } > else { > $sql .= "NULL,"; > } > } > $sql = substring($sql,0,-1).")"; > //$query = mysql_query($sql,$connect) or die(mysql_error()); > echo $sql; > > -----Original Message----- > From: Russ Michell [mailto:[EMAIL PROTECTED]] > Sent: Monday, October 22, 2001 11:23 AM > To: [EMAIL PROTECTED] > Subject: [PHP-DB] looped insert > > > Hi everyone: > > I've been fiddling with this all day, and well - if it was working you > wouldn't be reading this right now! ;-) > My script should take the selections made by users and process them via > straightforward MySQL inserts: > > //Get all table column names, dynamically display them as checkboxes. Use to > process subscriptions: > $fields = mysql_list_fields("$dbName", "myanet_categories", $connect); > $columns = mysql_num_fields($fields); > for ($i=0; $i<$columns; $i++) { > $names = mysql_field_name($fields, $i) . "\n"; > $catselect .= "<b>$names </b><input type=\"checkbox\" > name=\"category[$names]\" value=\"yes\"><br>\n"; > } > > > //If submit button selected, process those ticked checkbox categories: > if(isset($submit)) { > //loop while categories have been ticked > for($i=0;$i<count($category);$i++) { > if($HTTP_POST_VARS["category{$i}"] == 'yes') { //Not sure > about this bit... > $sql = "INSERT INTO $myanet02 > (staffdev,strategies,rules,news,information,policies) > VALUES('$email','$email','$email','$email','$email','$email')"; > //$query = mysql_query($sql,$connect) or > die(mysql_error()); > echo $sql; > } > } > } > > At the moment not even echoing my $sql works. I know this aint gonna work as > it is, because what I really need to know is: > > * How do I insert into only those categories that have been checked? > (default is 'null' in a VARCHAR(50) field) > * How do I only declare '$email' a single time as this is the only value > being inserted? > > Many thanks: > Russ > > #-------------------------------------------------------# > > "Believe nothing - consider everything" > > Russ Michell > Anglia Polytechnic University Webteam > Room 1C 'The Eastings' East Road, Cambridge > > e: [EMAIL PROTECTED] > w: www.apu.ac.uk/webteam > > www.theruss.com > > #-------------------------------------------------------# > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > #-------------------------------------------------------# "Believe nothing - consider everything" Russ Michell Anglia Polytechnic University Webteam Room 1C 'The Eastings' East Road, Cambridge e: [EMAIL PROTECTED] w: www.apu.ac.uk/webteam www.theruss.com #-------------------------------------------------------# -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]