2015-08-06 1 views
0

Я хочу сделать недавний посещенный раздел продукта. В деталях, когда пользователь вводит идентификатор продукта, будет $_GET['pid']; Теперь он хочет сохранить его в $_SESSION['views']; Теперь он будет храниться в сеансе. Затем он должен отображаться как массив, потому что его нужно поместить в запрос выбора продукта, тогда он будет отображаться во время цикла.Хотите сохранить страницу с подробным описанием страницы продукта в сеансе

$_SESSION['views']=$_GET['pid']; 

Теперь, когда я вхожу на страницу с подробным описанием продукта. Сессия будет иметь 1, Тогда в запросе:

SELECT * FROM `property` WHERE id=$_SESSION['views'] 

Но это должно быть в то время и отображение в цикле.
После 7 посещений продуктов Первый будет удален, а последний должен быть вставлен в последний сеанс, который будет отображать новую запись.

+0

Вы пытались использовать массив? – M1ke

ответ

0
$_SESSION['views'] = array(); 

Затем добавить новый продукт

function addProduct($product) 
{ 
    $_SESSION['views'][] = $product; 
    if (count($_SESSION['views']) > 7) { 
     $removedElement = array_shift($_SESSION['views']); 
    } 
} 

запрос

SELECT * FROM `property` WHERE id in <?= implode($_SESSION['views']) ?> 

Если вам нужно больше объектно-ориентированный подход, смотреть на SPL.

+0

Он отображает меня Array ([views] => Array()) –

0

Если вы хотите показать все 7 продуктов, вы должны сделать запрос, как это:

SELECT * FROM `property` WHERE id IN ($productList) 

и $ ProductList должны быть идентификаторы продуктов, разделенных запятой, например:

$productList = join(',', $_SESSION['views']); 

прямо сейчас вам нужно $ _SESSION ['views'] быть ab-массивом:

if (isset($_SESSION['views'])) { 
    // add new element 
    $_SESSION['views'][] = $_GET['pid']; 
    // remove old elements 
    if (count($_SESSION['views'] > 7)) array_shift($_SESSION['views']); 
} else { 
    // initialize an array 
    $SESSION['views'] = array($_GET['pid']); 
} 
+0

Что такое $ productList, откуда он идет? @ user3392550 –

+0

Предупреждение: join(): недопустимые аргументы, переданные в C: \ wamp \ www \ –

+0

Примечание: Неопределенный индекс: представления в C: \ wamp \ www \ –