Хранение данных в нескольких сессиях - PullRequest
0 голосов
/ 18 ноября 2010

Привет, что я пытаюсь сделать, это поместить все 5 идентификаторов файлов в сеансы, чтобы позже я мог переместить соответствующие физические имена файлов.$ sid sessionID будет одинаковым для каждого, запрос извлекает уникальный $ data [Id].Ограничение установлено на 5, как мне убедиться, что каждый сеанс получает уникальные данные [Id] из результатов, и если есть только 3 результата, не используйте последние 2 ...

    $results = mysql_query("SELECT * FROM test WHERE Language = '".$lang."' ORDER BY id DESC, CreationDate DESC LIMIT $start, 5");

    while ($data = mysql_fetch_array($results)) {
        $Record_Count = $Record_Count + 1;

session_start();
$sid = session_id();

        unset($_SESSION['file_1'], $file_1);
    $_SESSION['file_1'] = $sid . '-' . $data[Id] . '-slow'; 
        unset($_SESSION['file_2'], $file_2);
    $_SESSION['file_2'] = $sid . '-' . $data[Id] . '-slow'; 
        unset($_SESSION['file_3'], $file_3);
    $_SESSION['file_3'] = $sid . '-' . $data[Id] . '-slow'; 
        unset($_SESSION['file_4'], $file_4);
    $_SESSION['file_4'] = $sid . '-' . $data[Id] . '-slow'; 
        unset($_SESSION['file_5'], $file_5);
    $_SESSION['file_5'] = $sid . '-' . $data[Id] . '-slow'; 

        }

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

использовать двухмерный массив, например: $_SESSION['files'][]

session_start();
$sid = session_id();
unset($_SESSION['files']);
$Record_Count = 0;
while ($data = mysql_fetch_array($results) && $Record_Count < 5) {
      $Record_Count = $Record_Count + 1; 
      $_SESSION['files'][] = $sid . '-' . $data[Id] . '-slow'; 
}
1 голос
/ 18 ноября 2010

Одновременно может быть запущен только один сеанс.

Чтобы убедиться в наличии только трех результатов, поместите собранные идентификаторы в массив и проверьте его длину.

if(count($collectedIDs) != 3) { $collectedIDs[] = $newID; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...