Это полагается на деталь реализации, что любая перестановка отсортированного итерабельного в отсортированном порядке, если они не являются дубликатами предшествующих перестановок.
from itertools import permutations
def unique_permutations(iterable, r=None):
previous = tuple()
for p in permutations(sorted(iterable), r):
if p > previous:
previous = p
yield p
for p in unique_permutations('cabcab', 2):
print p
дает
('a', 'a')
('a', 'b')
('a', 'c')
('b', 'a')
('b', 'b')
('b', 'c')
('c', 'a')
('c', 'b')
('c', 'c')
Попробуйте следующее:
if(!isset($_SESSION['query_result'])){
$anything=mysqli_query($connection,"select something from table name where filed1='$variable' order by id DESC limit 70");
while($res = mysqli_fetch_row($anything)){
array_push($_SESSION['query_result'], $res);
}
} else {
$anything = $_SESSION['query_result'];
}
while($data=mysqli_fetch_array($anything)){
print_r($data);
}
Если вы хотите хранить данные не только для одного клиента, но и для серверов, я бы рекомендовал вам посмотреть , как создать кеш-сервер на стороне сервера в php? . В некоторых фреймворках это уже встроено.
В противном случае используйте один из методов API mysqli, например http://php.net/manual/de/mysqli-result.fetch-assoc.php , это должно вернуть вам массив, а не объект.
mysqli_query () возвращает объект, который вы не можете хранить в сеансе (существует метод преобразования объекта в массив, но я бы не хотел рекомендуется хранить весь объект) http://php.net/manual/de/function.get-object-vars.php
Используйте это:
$result = $connection->query("select something from table");
$_SESSION['session-name'] = $result->fetch_assoc();
ИЛИ
$sql = `select something from table`;
$result = mysqli_query($sql);
$_SESSION['session name'] = mysqli_fetch_assoc($result);