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

Форум PHP

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

 

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

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

тема: Передача массива из одной страницы в другую.
 
 автор: off   (27.08.2005 в 15:17)   письмо автору
 
 

Есть файл 1.php


$arr[1] = "Груши"
$arr[2] = "Яблоки"
$arr[3] = "Апельсины"


Как при помощи формы передать этот массив в файл 2.php?

   
 
 автор: Евгений Петров   (27.08.2005 в 15:58)   письмо автору
 
   для: off   (27.08.2005 в 15:17)
 

<input type="hidden" name=arr[1] value="$arr[1]">
<input type="hidden" name=arr[2] value="$arr[2]">
<input type="hidden" name=arr[3] value="$arr[3]">

   
 
 автор: off   (27.08.2005 в 16:08)   письмо автору
 
   для: Евгений Петров   (27.08.2005 в 15:58)
 

Спасибо большое! А вот тепреь столкнулся с проблемой.
Мне нужно вставить в базу данных в поле items этот самый моссив. Делаю так:



$arr = print_r($arr);
$sql = "INSERT INTO my_table (items) values ('$arr')";
$result = mysql_query ($sql);



Но вот когда делаю запрос на этот массив из БД:


$sql = "SELECT * FROM my_table WHERE id=1"
$result = mysql_query ($sql);
$row = mysql_fetch_array($result);
$arr = $row['items'];



У меня получается, что преременная $arr уже не массив а строка.
Как сделать чтобы это был массив?

   
 
 автор: Евгений Петров   (27.08.2005 в 20:15)   письмо автору
 
   для: off   (27.08.2005 в 16:08)
 

Для этого нужно использовать функцию serialize() она упаковывает массив в строку. В таком виде её следует помещать в БД. А после извлечения её надо распаковывать при помощи функции unserialize(). Эта ф-я обратна ф-ии serialize():
<?
  
for($i=0;$i<10;$i++)
    
$arr[$i] = rand();
  echo 
"<pre>";
  
print_r($arr);
  
$arr serialize($arr);
  echo 
$arr."\n";
  
$arr unserialize($arr);
  
print_r($arr);
  echo 
"</pre>";
?>

   
Rambler's Top100
вверх

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