3

In my database, I have a status column where I'm using numbers to represent a status of a product. Each of these numbers represents a string value, for example 1 is open, 2 is closed, etc. Now to display a count of these statuses in my webpage, I am converting the following numbers into a string to display them to the user:

array(1=>'Open',8=>'Hot',2=>'Closed',3=>'Transacted',4=>'Dead',9=>'Follow Up',11=>'Working')

Now I have this count as a clickable link, where the user can click the count and it takes them to a new page showing the details of that item. For which I'm using this:

<a target='_blank' href='".site_url('reports/viewall?status=' . $status)."'>".$num."</a>

This correctly passes the argument to the URL and shows http://localhost/reports/viewall?status=Closed

Now I'm storing this variable in my controller as $status, but I cannot use this string value in my model query which is this since it is giving the string value of status and not the number related to it:

SELECT * from TABLE1 where status = $status

Controller Class where I'm storing the $status:

$status = $this->input->get('status');
$content['individualleads'] = $this->leads_model->get_all_leads($status )->result();
0

1 Answer 1

2

I think the best approach would be to pass the integer in the URL and use the array text value only when it is text meant for the user. So just:

http://localhost/reports/viewall?status=2

Another alternative is to flip the array and access the text key:

$status_num = array_flip($array)[$status];

Or search the original array:

$status_num = array_search($status, $array);

Probably more standard might be to have a status_types table with the integer status_id and text status_text for each status and join this when retrieving the status.

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

Comments

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.