Hi all, when inserting values stored in an array to MySQL database, where do the values go?

I have a form with 5 checkboxes that may or may not be checked, their names all being an array.

Question: how do I write the sql file?

assuming the names are nature[]

would I need to do this...

nature varchar(50) null

Plz help!

Edited 3 Years Ago by happygeek: fixed formatting

Hi thanks for the response, but my question still stands...

Where do the values get stored in the database?

Surely there must be a column defined in the sql file that has a name, a data type, how many characters are expected, can it be blank, etc...

Like I said, would I need to do this...? nature varchar(50) null It is this part that I don't get.

ok I'm gonna add some code here, maybe this will clarify what I am trying to do...

register.php

<input type="text" name="firstName" value="<?php echo $form->value("firstName"); ?>" />
<input type="text" name="lastName" value="<?php echo $form->value("lastName"); ?>" />
<input type="checkbox" name="nature[]" value="0" />
<input type="checkbox" name="nature[]" value="1" />
<input type="checkbox" name="nature[]" value="2" />

process.php

$retval = $session->register($_POST[firstName], $_POST['lastName'] ($question = implode(",",$_POST['questions'])));

session.php

function register($subfirstname, $sublastname, $subquestion) {
     // firstname error checking

     // lastname error checking

     // Errors exist, have user correct them
     if($form->num_errors > 0) {
          return 1; // Errors with form
     }
     else {
          if($database->addNewUser($subfirstname, $sublastname, $subquestion)) {
               return 0; // New user added successfully
          }
          else {
               return 1; // Registration failed
          }
     }
}

database.php

function addNewUser($firstname, $lastname, $questions) {
     $q = "INSERT INTO users VALUES ('$firstname', '$lastname', $questions)";
     return mysql_query($q, $this->connection);
}

tables.sql

DROP TABLE IF EXISTS users

CREATE TABLE users (
     firstname   varchar(30) not null,
     lastname    varchar(30) not null
);

========


you will notice that the tables.sql does not have a column defined for questions. Should there be one?

Areas that I am not sure about are the sql and the formatting of the implode in process.php

Please help me someone if you can,

thanks.

hi,
create a new row in database call it as nature and write like this

$string = implode(",",$_POST['nature']);

$query = "insert into table (nature) values ('$string')";

mysql_query($query);

it will inset the values into database with comma seperated

This question has already been answered. Start a new discussion instead.