I am not a php pro and have already explored different online search forums but could not find any suitable answer and that’s why posting my question here.
Function One: Runs a query to database and define variables in foreach loop as follows:
x
function myFunction(){
$dbinfo = get_db_info();
$users = $dbinfo->get_results("
SELECT
Email,
ID,
Name,
Address
FROM Database_table
WHERE ID = 5
");
if($users) {
$output = '';
foreach($users as $user) {
$ID = $user->ID;
$dname = $user->Name;
$email = $user->Email;
$address = $user->Address;
}else{
$output .= 'No user found';
}
}//endif
return $output;
}
Function two: Now I want to get the values of those variables in another function as follows:
function dislayData(){
$values = myFunction();
echo $values=>$email;
}
But it does not work. It seems I may need to wrap variables in the foreach loop into an array. I don’t understand how to do that.
Any help here would be highly appreciated.
Thanks in advance.
Bakar
Advertisement
Answer
function myFunction(){
$dbinfo = get_db_info();
$users = $dbinfo->get_results("SELECT Email, ID, Name, Address
FROM Database_table
WHERE ID = 5");
if($users) {
$arrOutput = [];
foreach($users as $user) {
$arrOutput[] = [
'ID' => $user->ID,
'dname' => $user->Name,
'email' => $user->Email,
'address' => $user->Address
];
}
return $arrOutput;
}
else{
return false;
}
}
function dislayData(){
$values = myFunction();
if($values !== false){
foreach($values as $user){
// Now you can access property of each uesr
echo $user['email'];
}
}
}