Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Занести несколько значений в одну сессию
 
 автор: sega_z   (03.04.2013 в 21:09)   письмо автору
 
 

Из базы данных выводятся уникальные номера строк id:

$result = mysql_query("SELECT id FROM .... WHERE .....",$db);
$myrow = mysql_fetch_array ($result);

Как занести в сессию $_SESSION['id'] все значения $myrow["id"], чтобы на другой странице выводить их по очереди?

  Ответить  
 
 автор: psychomc   (03.04.2013 в 21:45)   письмо автору
 
   для: sega_z   (03.04.2013 в 21:09)
 

создаете массив $_SESSION["id"] = array();
дальше получаете данные из базы в цикле (в вашем примере только первая строка, а надо все). а на другой странице работаете с этим массивом. абсолютно то же самое что обычный массив, только суперглобальный

  Ответить  
 
 автор: sega_z   (03.04.2013 в 21:49)   письмо автору
 
   для: psychomc   (03.04.2013 в 21:45)
 

Если честно, я не понял как, можете на примере показать.

Пробовал, так, не получилось:

do
{
$arr_id = array($myrow["id"]);
}
while ($myrow = mysql_fetch_array ($result));
$_SESSION['id'] = $arr_id;

  Ответить  
 
 автор: MHz   (03.04.2013 в 21:58)   письмо автору
 
   для: sega_z   (03.04.2013 в 21:49)
 

<?php
$_SESSION 
$myrow;

  Ответить  
 
 автор: sega_z   (03.04.2013 в 22:02)   письмо автору
 
   для: MHz   (03.04.2013 в 21:58)
 

Я уже пробовал так: $_SESSION['id'] = $myrow["id"];

При выводе:


foreach ($_SESSION['id'] as $value) {
echo $value;
}


Выводит: Warning: Invalid argument supplied for foreach()

  Ответить  
 
 автор: confirm   (03.04.2013 в 22:08)   письмо автору
 
   для: sega_z   (03.04.2013 в 22:02)
 

Вам написали - создать массив $_SESSION["id"] = array();
Добавлять нужно элементы в этот массив, а вы что делаете?
$_SESSION['id'] = $myrow["id"];
Чему после этого действия будет равна $_SESSION["id"] и чем являться?

  Ответить  
 
 автор: MHz   (03.04.2013 в 22:09)   письмо автору
 
   для: sega_z   (03.04.2013 в 22:02)
 

посмотрите что вообще там есть
<?php
print_r 
($_SESSION);


А вообще перед такими циклами неплохо бы проверять является ли переменная массивом
<?php
if (is_array ($_SESSION['id']) && sizeof ($_SESSION['id']) > 0) { ... }

  Ответить  
 
 автор: confirm   (03.04.2013 в 22:11)   письмо автору
 
   для: MHz   (03.04.2013 в 22:09)
 

Не торопитесь, в любом случае это будет массив, если делать так, как ему сказали ранее.
Но делается это не так, пусть подумает.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования