Jump to content
  • 0

Как передать пару массивов из одного файла в другой?


fiver
 Share

Question

Всем привет!

Что то я совсем запутался и не могу никак распутаться. В общем нужна помощь свежей головы.

Ситуёвина  в общем такая. Есть у меня формула по которой происходят расчеты в заданном интервале.

Пользователь вводит, значения, указывает интервал (например от 1 до 10) и формула в этом интервале все считает.

В результате все данные записываются в 2 массива 1. значения интервала, 2-ой результаты подсчета. Все вывожу в виде таблицы.

Сразу скажу что форма находится в файле index.php, данные из формы передает на себя (т.е.  index.php), все делаю в одном файле.

 

Теперь я захотел что бы это выводилось в виде графика. Подключил  open flash chart.

Подключается он вот так:

<?phpopen_flash_chart_object( 700, 400, $baseURL.'chart-data.php', false);?> 

Данные для построения графика берутся из файла chart-data.php  - его видно в коде.

Там они лежат в таких же 2-х массивах как и посчитано у меня - $data и $labelsX

Один выводит результаты по оси x другой по оси y.

 

Но что то я ни как ума не приложу, как мне массивы из файла chart-data.php подменить на свои из index.php

 

Да, массивы считаются в index.php, после нажатия кнопки считать (там еще проверка на корректные данные, на допустимые интервалы и т.п.)

 

Можно конечно сделать кнопку вывести график и POST передать массивы в chart-data.php, но хочется выводить график сразу после нажатия посчитать.

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

данные из index.php у вас никуда не записываются (т.е. конечно записываются в ячейку памяти, но это немного не то), они просто тупо выводятся в index.php, а что бы ими можно было оперировать как-то в разных файлах .php - нужно именно записать их результат в файл в виде массива, а оттуда уже вытаскивать там где вам нужно.

Link to comment
Share on other sites

  • 0

хорошо, предположим я записал их в файл data.php, а потом в файле chart-data.php обращаюсь к ним.

Где гарантия того, что пока файл chart-data.php обращался к data.php, другой пользователь не кликнул кнопку посчитать и перезаписал данные?

Link to comment
Share on other sites

  • 0

в общем файл chart-data.php выводит данные в виде:

&title=formula,{font-size: 16px;}&&x_axis_steps=1&&y_ticks=5,10,10&&line_dot=3,#CC3399,grafik,10,5&&values=0,0.1,3.2,24.3,102.4,312.5,777.6,1680.7,3276.8,5904.9&&x_labels=0,1,2,3,4,5,6,7,8,9&&y_min=0&&y_max=7085.88&

я в этот файл методом GET передал готовые массивы, он их принял и вывел в нужном для построения графика виде.

Но теперь я не знаю как после передачи этих массивов вернуться назад на страницу index.php и насладиться просмотром графика.

Хотел вот через такой код вернуться : 

echo $g->render();echo "<html><head><meta http-equiv='refresh' content='0; URL=index.php?g=on'></head></html>";

но предыдущая строка echo $g->render(); выводит все что в первой вставке, а мой последующий код превращает просто в текст.

Link to comment
Share on other sites

  • 0

хорошо, предположим я записал их в файл data.php, а потом в файле chart-data.php обращаюсь к ним.

Где гарантия того, что пока файл chart-data.php обращался к data.php, другой пользователь не кликнул кнопку посчитать и перезаписал данные?

ну тогда аяксом отправляете из index.php в chart-data.php данные введенные пользователем, а в chart-data.php делаете проверку на то, пришли ли они.

тут уже не столь важно постом, или гетом, а потом инклудите chart-data.php в index.php и наслаждаетесь просмотром графика, только про сессии не забывайте.

function ajax() { //Ajax отправка формы	var msg = $("#form").serialize();	$.ajax({		type: "POST",		url: "chart-data.php",		data: msg,		success: function(data) {			$("#results").html(data);			$('.view').fadeIn(1000); // это класс дива, в котором по идее должен отобразиться вывод графика		},		error:  function(xhr, str){			alert("Возникла ошибка!");		}	});}
Link to comment
Share on other sites

  • 0

В общем я сделал через файл, массивы записываю в .txt, а потом их оттуда извлекаю.

Расскажите пожалуйста о принципе работы сессии.

Понятно что ее надо открыть, а вот что делать с ней потом?

Ее тоже надо куда то сохранить, а потом где то пометить массивы что они от этой сессии и сравнить?

Или я что то неправильно понимаю?

Link to comment
Share on other sites

  • 0

В общем я сделал через файл, массивы записываю в .txt, а потом их оттуда извлекаю.

Расскажите пожалуйста о принципе работы сессии.

Понятно что ее надо открыть, а вот что делать с ней потом?

Ее тоже надо куда то сохранить, а потом где то пометить массивы что они от этой сессии и сравнить?

Или я что то неправильно понимаю?

Механизм сессий в php сам создает файл для сессии, и ключи, и куки для нее.

Читайте http://www.php.su/articles/?cat=examples&page=070

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy