[FX.php List] Beating a dead horse (was: trying to read back an array)

Dale Bengston dbengston at tds.net
Sat Sep 18 07:49:29 MDT 2010


OK, if the support request doesn't have a database record key, then you could probably just call it 'suppReq' or whatever you want, and refer to it by that element key in $_SESSION.

if( (strlen($_POST['recid'])>0) && (is_array($_POST['recid']))) {
	foreach($_POST['recid'] as $recid) {
		$_SESSION['suppReq'][$recid]['description] = $_POST['description'.$recid] ;
		$_SESSION['suppReq'][$recid]['type'] = $_POST['type'.$recid] ;
		$_SESSION['suppReq'][$recid]['serial'] = $_POST['serial'.$recid] ;
		$_SESSION['suppReq'][$recid]['problem'] = $_POST['problem'.$recid] ;
		$_SESSION['suppReq'][$recid]['recid'] = $recid ;
	}
}

	foreach($_SESSION['suppReq'] as $recid => $value) {
		$status = "Open; pending manufacturer approval";
		$description = $value['description'];
		$problem = $value['problem'];
		$serial = $value['serial'];
		echo $recid;


On Sep 17, 2010, at 11:12 AM, Bob Patin wrote:

> OK, I can do that, but at this point nothing's been written to the DB, so i don't have a support_request value per se; I suppose I can generate one.
> 
> Question: should it not work this way since every user only has one array of recid?
> 
> How do I retrieve the session key? I know there's a command for it, just being lazy...
> 
> BP
> 
> 
> On Sep 17, 2010, at 11:06 AM, Dale Bengston wrote:
> 
>> Oh, okay. I think then you should set your session main key to the id of their support request, and then make sub-arrays for every item in the support request.
>> 
>> $suppReq = [wherever you store that value];
>> 
>> 
>> if( (strlen($_POST['recid'])>0) && (is_array($_POST['recid']))) {
>> 	foreach($_POST['recid'] as $recid) {
>> 		$_SESSION[$suppReq][$recid]['description] = $_POST['description'.$recid] ;
>> 		$_SESSION[$suppReq][$recid]['type'] = $_POST['type'.$recid] ;
>> 		$_SESSION[$suppReq][$recid]['serial'] = $_POST['serial'.$recid] ;
>> 		$_SESSION[$suppReq][$recid]['problem'] = $_POST['problem'.$recid] ;
>> 		$_SESSION[$suppReq][$recid]['recid'] = $recid ;
>> 	}
>> }
>> 
>> 	foreach($_SESSION[$suppReq] as $recid => $value) {
>> 		$status = "Open; pending manufacturer approval";
>> 		$description = $value['description'];
>> 		$problem = $value['problem'];
>> 		$serial = $value['serial'];
>> 		echo $recid;
>> 
>> 
>> 
>> 
>> 
>> On Sep 17, 2010, at 10:45 AM, Bob Patin wrote:
>> 
>>> I don't think that'll work; here's the thing:
>>> 
>>> the user may visit this page multiple times, similar to a cart; they may come here, having added a support request, then leave, find another item that needs service,  and add it too.
>>> 
>>> So that's why i need to build this array; each time they get to this page, i want to show them the list of items that they've selected so far for repair.
>>> 
>>> So that means that my 2nd loop has to loop thru the array and not my POST values...
>>> 
>>> Make sense? So that being the case, why isn't it pulling in my array?
>>> 
>>> BP
>>> 
>>> 
>>> On Sep 17, 2010, at 10:32 AM, Dale Bengston wrote:
>>> 
>>>> This (and subsequent lines) should be: 
>>>> 
>>>> 		$_SESSION[$recid]['description'] = $_POST['description'.$recid] ;
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Sep 17, 2010, at 9:59 AM, Bob Patin wrote:
>>>> 
>>>>> Well, I'm almost there, but here's what is happening:
>>>>> 
>>>>> When I read back the array using this:
>>>>> 
>>>>> foreach($_SESSION['recid'] as $recid => $value) {
>>>>> $status = "Open; pending manufacturer approval";
>>>>> $description = $value['description'];
>>>>> $problem = $value['problem'];
>>>>> $serial = $value['serial'];
>>>>> 
>>>>> I get back 4 records, and my data isn't there (getting a single letter in each value)...
>>>>> 
>>>>> Here's how I'm writing my vars:
>>>>> 
>>>>> if( isset($_POST['recid']) && is_array($_POST['recid'])) {
>>>>> 	foreach($_POST['recid'] as $recid) {
>>>>> 		$_SESSION['recid']['description'] = $_POST['description'.$recid] ;
>>>>> 		$_SESSION['recid']['type'] = $_POST['type'.$recid] ;
>>>>> 		$_SESSION['recid']['serial'] = $_POST['serial'.$recid] ;
>>>>> 		$_SESSION['recid']['problem'] = $_POST['problem'.$recid] ;
>>>>> 	}
>>>>> }
>>>>> 
>>>>> I should get back only ONE record, so the array should be empty other than that one; I closed my browser just to make sure I'd ended the previous session...
>>>>> 
>>>>> Do I need to filter out empty data? Why am I not getting my vars back?
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> FX.php_List mailing list
>>>>> FX.php_List at mail.iviking.org
>>>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>>> 
>>>> _______________________________________________
>>>> FX.php_List mailing list
>>>> FX.php_List at mail.iviking.org
>>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>> 
>>> _______________________________________________
>>> FX.php_List mailing list
>>> FX.php_List at mail.iviking.org
>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>> 
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
> 
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list



More information about the FX.php_List mailing list