Gottit at last!: //If submit button selected, process those ticked checkbox categories: if(isset($submit)) { //Start off sql $sql = "INSERT INTO $myanet02 ("; //loop while categories have been ticked while(list($key,$val) = each($category)) { //trim whitespace from the end of $names $sql1 .= rtrim($key) . ","; $sql2 = substr($sql1,0,-1). ")"; $sql3 .= "'$email',"; $sql4 = $sql . $sql2 . " VALUES (" . $sql3; } //Remove the last comma from data to be inserted $sql = substr($sql4,0,-1) . ")"; $query = mysql_query($sql,$connect) or die(mysql_error()); }
Thanks for the initial pointer Rick! I was simply repeating the inclusion of the contents of the var: $sql1 (within $sql2 and in $sql4) Cheers once again. 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]