[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление многомерного массива в сессию
otix()90
Еще раз Добрый день, творится ряд непонятных мне вещей)

1. Непосредственно по теме, у меня есть массив $RESULT_MAS, после перехода на форму обработчик (код обработки на той же самой форме откуда и переходим) по логичным вроде бы причинам $RESULT_MAS не должен существовать, т.е. к примеру

foreach ($RESULT_MAS[0] as $key=>$value)
echo "<p>".$key." = " . $value . "</p>";

Дает пустой результат.

Тогда я затаскиваю $RESULT_MAS в сессию

$_SESSION['RM']='$RESULT_MAS';

и при обработке просматриваю содержимое сессии

foreach ($_SESSION as $key=>$value)
echo "<p>".$key." = " . $value . "</p>";

Есть все, кроме массива RM.

Вопщем не знаю КАК ЭТОТ $RESULT_MAS (полностью желательно) дотащить на форму обработки. Кто как думает?

2. Есть код

$sql4 = "INSERT INTO Variant (id_variant, id_polsov, id_polsov1) VALUES ('".$id_v."','".$_SESSION['id_u']."', '".$RESULT_MAS[$i-1]['id']."')";

В третьей переменной $RESULT_MAS[$i-1]['id'] скорее всего косяки, пока не перетащил его , не могу посомтреть.
НО '".$id_v."' добавляет "0" в таблицу, хотя через эхо дает нужную мне цифру 1.
Пытался добавить по разному:

'$id_v',
'".$id_v."',
$id_v

Во всех случаех дает 0 в таблице , а в 3 (без каких либо кавычек вобще не добавляет в БД)



Спустя 3 минуты, 25 секунд (21.11.2011 - 13:59) otix()90 написал(а):
подправил

$_SESSION['RM']=$RESULT_MAS[0]['id'];

Вроде появилась в сессии переменная RM щас дальше посомтрю

Спустя 7 минут, 35 секунд (21.11.2011 - 14:07) otix()90 написал(а):
Вроде массив перенес через сессию, остался вопрос :

$sql4 = "INSERT INTO Variant (id_variant, id_polsov, id_polsov1) VALUES ('".$id_v."','".$_SESSION['id_u']."', '".$RM[$i-1]['id']."')";

Должен добавить в БД значения 1, 17, 9 - добавляет 0, 17, 0 ошибка синтаксиса? )))

Спустя 15 минут, 4 секунды (21.11.2011 - 14:22) kovaldm написал(а):
Проверь так
echo $id_v, '<br>';
echo $_SESSION['id_u'], '<br>';
echo $RM[$i-1]['id'], '<br>';

Спустя 4 минуты, 22 секунды (21.11.2011 - 14:26) otix()90 написал(а):
Проверил, тут вобщем такая атата получается, если заностить в БД записи больше чем 1, то он первую самую КРИВО записывает. прмер:
1 17 15 0 0
Edit Delete 0 17 0 0 0
Edit Delete 1 17 14

Без сортировки)) вобщем строка где цифры 0 и 0 около 17 там должно быть 1 и 13
вот код
	for ($i=0;$i<100;$i++)
{
if ($_POST["psk$i"] == '1')
{
$this_date=date('Y-m-d');
echo 'Добавление поиска '.$i.'<br>';

$sql = "INSERT INTO Poisk_var (id_us, Date) VALUES ('".$_SESSION['id_u']."', NOW())";
$sql2 = "SELECT * FROM `Poisk_var` WHERE id_us = '".$_SESSION['id_u']."'";
$sql3 = "UPDATE Poisk_var SET Date = '$this_date' WHERE id_us = '".$_SESSION['id_u']."' LIMIT 1";
$sql4 = "INSERT INTO Variant (id_variant, id_polsov, id_polsov1) VALUES ('".$id_v."','".$_SESSION['id_u']."',
'"
.$RM[$i-1]['id']."')";

$result2 = mysql_query($sql2);
$Resu_mas = mysql_num_rows($result2);
if ($Resu_mas != 0)
{
echo "<br>Пользователь с ИД найден <br>";
while ($row = mysql_fetch_array($result2))
{
echo $row["id_pv"].'<br>';
echo $row["id_us"].'<br>';
echo $row["Date"].'<br>';
if ($row["Date"] == $this_date)
{
echo 'Дата равна текущей<p>';
$id_v = $row["id_pv"];
echo $id_v;
$RM = $_SESSION['RM'];
$result = mysql_query($sql3);
$result4 = mysql_query($sql4);
}
else
{
echo 'Дата не равна текущей<p>';
$id_v = $row["id_vp"] + '1';

$result = mysql_query($sql);
$result4 = mysql_query($sql4);

}
}
}

else
{
echo 'Пользователя с таким ИД немо<p>';
$id_v = $row["id_vp"] + '1';
$result = mysql_query($sql);
$result4 = mysql_query($sql4);
}
}


Спустя 31 минута, 3 секунды (21.11.2011 - 14:57) linker написал(а):
Не
$_SESSION['RM']='$RESULT_MAS';
а
$_SESSION['RM']=$RESULT_MAS;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.