php - Can I use session or cookies to store the user search?

I'm developing a travel website, I'm wondering if I could store in session or cookies the user searched in my website and use it as value in a query to suggest. Like if the user is interested in hotel categories tourist attraction the suggested for you will show some hotel tourist attraction, I will get the tourist attraction categories from the database and store it in session. I don't have a user login for the viewer. I'm thinking if its possible in PHP? Thank you.

I didn't try yet, I need help.

Answer

Solution:

Yes, it is possible. You can make possibilities like that. When the user entered at least one category, you can set its ID to the cookie or session. After it, you can sort categories from user's saved ID. For example by session:

In category controller:

$_SESSION['category_ids'][] = in_array($category_id,$_SESSION['category_ids'])?:$_SESSION['category_ids'][] = (int) $category_id;

In list page:


$categories = Categories::order(DB::raw(' FIELD(id,'.implode(',',$_SESSION['category_ids'])))->get();

Also, you can set limit of count for category IDs and you can override first IDs with newest.

Source