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]