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]