Pereiti prie turinio

CodeIgniter ir multidimensiniai masyvai


Rekomenduojami pranešimai

Problema su multidimensiniu masyvu kurį išsaugau į sesiją. Paprastai tai atrodo taip:

 

session_start();
$_SESSION[$current_page][$id] = $this->m_uzsakymukrepselis->analogai();

//išvedu man reikiama sesija
$_SESSION[$current_page."iskleisti_analogai"][$rowprekes['NAME_ID']]

 

Visa bėda tame [$rowprekes['NAME_ID'], nesigauna per codeigniter padaryti naudojant jo klases.

 

Per codeigniter

 

Session start prijungta kaip autoload

 

$sesmasyvas = array ( array ( $current_page => $id ) );
$sesmasyvas = $this->m_uzsakymukrepselis->analogai();

$this->session->set_userdata($sesmasyvas);

 

Nesu tikras ar gerai išsaugau bet man atrodo, kad gerai, manau problema yra mano išvedime sesijos:

 

$this->session->userdata(???);

 

Negaliu išvesti cikle sesijos masyvo masyve kaip čia pvz:

 

$_SESSION[$current_page."iskleisti_analogai"][$rowprekes['NAME_ID']]

Redagavo kiladila
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kad kažkaip tu čia įdomiai viską darai.

 

Nustatai $sesmasyvas, po to vėl nustatai $sesmasyvas gaudamas(?) duomenis iš modelio.

 

Pirmiausia įsitikink kad tikrai $sesmasyvas nėra tuščias.

var_dump($sesmasyvas);

Sunkiai man su šiuo paskutiniu darbu kažkaip atrodo elementarūs dalykai bet niekaip neįvažiuoju :)

 

$sesmasyvas mano atveju nėra tuščias, var_dump duoda toki pat rezultata kaip ir:

var_dump ($_SESSION[$current_page."iskleisti_analogai"][$id] = $this->m_uzsakymukrepselis->analogai());

 

Tai taip suprantu jog sesijos išvestyje pačiame view kažkas ne taip

Šitas išvedimas veikia jei dariau tiesiog sessian_start() ir t.t.: $_SESSION[$current_page."iskleisti_analogai"][$rowprekes['NAME_ID']]

O jau kai per CI klase sesija kuriu nesigauna...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$this->session->set_userdata(array('item_name' => $sesmasyvas));
// somewhere...
$data_from_session = $this->session->userdata('item_name');
var_dump(@$data_from_session[$current_page."iskleisti_analogai"]);
die(var_dump($data_from_session));

 

Ir aplamai - sessiojos naudojimos tik configu saugojimui.

 

//~ Controller
$data = array(
'data_from_model_1' => $this->model->getDataFromModel1(),
'data_from_model_2' => $this->model->getDataFromModel2(),
'data_from_model_3' => $this->model->getDataFromModel3(),
);
$this->load->view('view_name', $data);

//~ View
var_dump($data_from_model_1);
var_dump($data_from_model_2);
var_dump($data_from_model_3);

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na bendrai paėmus tai frameworkai naudoją tą pačia PHP nieko ten naujo nėra tik priėjimas prie tų pačių funkcijų kiek kitoks, o kas liečia mano klausymą tai aš nusprendžiau naudoti tiesiog gimtas PHP sesijas.

 

Man neįšėjo išvesti masyvo esančio kitam masyve...

Dar pasikartosiu kokia ten situacija buvo:

 

$this->session->userdata($sesijos_kintamasis);

 

Šiaip tas sesijos kintamasis yra masyvas kuriame tam tikrame elementas yra dar vienas masyvas.

 

$_SESSION[$current_page][$id];

 

bandžiau jau net nepamenu kaip, bet neišsivesdavo. Tai atjungiau tas CI sesijas ir paprastai per session_start padariau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na bendrai paėmus tai frameworkai naudoją tą pačia PHP nieko ten naujo nėra tik priėjimas prie tų pačių funkcijų kiek kitoks, o kas liečia mano klausymą tai aš nusprendžiau naudoti tiesiog gimtas PHP sesijas.

 

Man neįšėjo išvesti masyvo esančio kitam masyve...

Dar pasikartosiu kokia ten situacija buvo:

 

$this->session->userdata($sesijos_kintamasis);

 

Šiaip tas sesijos kintamasis yra masyvas kuriame tam tikrame elementas yra dar vienas masyvas.

 

$_SESSION[$current_page][$id];

 

bandžiau jau net nepamenu kaip, bet neišsivesdavo. Tai atjungiau tas CI sesijas ir paprastai per session_start padariau.

 

Gali pasikeist CI sesijų biblioteką, į native PHP sesijas. Bus objektiškesnis kodas :) CI sesijos yra ydingos ir turinčios bugų.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gali pasikeist CI sesijų biblioteką, į native PHP sesijas. Bus objektiškesnis kodas :) CI sesijos yra ydingos ir turinčios bugų.

Kad pats frameworkas yra jau senai mires. O su sesijomis ten viskas ok, isskirus keleta loginiu nugrybavimu.

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 1 mėnesio...

Kad pats frameworkas yra jau senai mires. O su sesijomis ten viskas ok, isskirus keleta loginiu nugrybavimu.

 

pats tu mires, CI populiariausias googlo paieskoje, vadinas tikrai taip nedveses kaip zend,symfony, ar da kokia heavy weight failu kruva.

Redagavo kaunomanas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

pats tu mires, CI populiariausias googlo paieskoje, vadinas tikrai taip nedveses kaip zend,symfony, ar da kokia heavy weight failu kruva.

Populiariausias gal todėl, nes nieko kito nežino? Kažką išgirdo ir googlina, tikrai nė vienas rimtas programuotojas CI nebesiūlytų naujam projektui.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

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

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...