3

I have drop down which is look like the following

<select class="selectpicker form-control" multiple name="category[]">
    <option value="1" id="MENTAL HEALTH">MENTAL HEALTH</option>
    <option value="2" id="SUICIDE SUPPORT">SUICIDE SUPPORT</option>
    <option value="3" id="HEALTH">HEALTH</option>
    <option value="4" id="SUPPORT">SUPPORT</option>
</select>

In my controller I have the following code to get that data from the dropdown

public function save()
{
    $ctgry= ($this->input->post('category'));
    $orgName= ($this->input->post('InputName'));
    $streetNo= ($this->input->post('StreetNo'));
    $streetName= ($this->input->post('StreetName'));
    $suburb= ($this->input->post('Suburb'));
    $state= ($this->input->post('state'));
    $postCode= ($this->input->post('PostCode'));
    $count = count($ctgry);

    $supprtGroup = array(
        'name' => $orgName,
        'street_no' => $streetNo,
        'street' => $streetName,
        'suburb' => $suburb,
        'state' => $state,
        'pc' => $postCode
    );

    $supportgroup_id = $this->Home_Model->addSupportGroup($supprtGroup);

    $j = 0;
    i = 0;
    $sc_id = 0

    echo 'aa';//just for error checking purpose

    if ($count > 1)
    {
        echo ' aa1';//just for error checking purpose
        while ($i > $count)
        {
            echo ' aa2';//just for error checking purpose

            $support_category = array(
                'supportgroup_id' => $supportgroup_id,
                'category_id' => $ctgry[$j]
            );
            $sc_id = $this->Home_Model->addSupportrCategory($support_category);
            $i++;
            echo $sc_id;//just for error checking purpose

        }
    }
    else
    {
        echo ' aa3';//just for error checking purpose
        $support_category = array(
            'supportgroup_id' => $supportgroup_id,
            'category_id' => $ctgry[$j]
        );
        $sc_id = $this->Home_Model->addSupportrCategory($support_category);
        echo $sc_id;//just for error checking purpose
    }
    echo'bb';//just for error checking purpose
}

The following is my model class

function addSupportGroup($supprtGroup=NULL)
{
    $this->db->insert('support_group', $supprtGroup);
    return $this->db->insert_id();
}

function addSupportrCategory($support_category=NULL)
{
    $this->db->insert('support_category', $support_category);
    return $this->db->insert_id();
}

When select multiple values from dropdown the out put as follows

aa aa1bb

Could anyone give me an answer why this is happening, if it is a single value selected from the dropdown its saving to the DB fine I search every similar posts but couldn't find the answer.

1
  • I'm not sure if this is a typo in your question or what but i=0; should be $i = 0; and also I can't see where $count is defined in your question. Commented May 24, 2015 at 7:43

1 Answer 1

1

I can't see where $count is defined in your question so I don't know what it's value is meant to be, however, if you are getting "aa1" as output you are saying that it's bigger than 1.

With your while() you're saying that $i must be bigger than $count but $i equals 0 so therefore the while loop won't start.

If you are just wanting to loop through the categories it would be easier to just:

$supportgroup_id = $this->Home_Model->addSupportGroup($supprtGroup);

foreach ($ctgry as $cat) {
    $insert = array(
       'supportgroup_id' => $supportgroup_id,
       'category_id' => $cat 
    );

    $sc_id = $this->Home_Model->addSupportrCategory($support_category);
}

This will work because the dropdown will always be picked up as an array.

You should also look at adding some validation to this!

Hope this helps!

Sign up to request clarification or add additional context in comments.

2 Comments

You are a life saver mate that works perfectly!!!! Sorry about the $count variable my bad :). I added Some validation to it it seems not working So that's why I omit the validation part. Anyway thanks for the help.
Glad I could help! It might be worth opening a new question to help fix why your validation isn't working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.